Scenarios
Before using an ECS to create a private image, you need to change disk identifiers to UUID in the GRUB file of the ECS.
Modify the menu.lst or grub.cfg file (/boot/grub/menu.lst, /boot/grub/grub.cfg, /boot/grub2/grub.cfg, /boot/grub/grub.conf, or /boot/efi/EFI/euleros/grub.cfg), и настройте загрузочный раздел, используя UUID.
Корневой раздел, указанный в файле конфигурации, отличается в зависимости от ОС. Он может быть root=/dev/xvda или root=/dev/disk.
Процедура
- Ubuntu 14.04: Выполните blkid для получения UUID корневого раздела. Измените /boot/grub/grub.cfg файл и используйте UUID корневого раздела для настройки загрузочного элемента. Если корневой раздел уже использует UUID, изменений не требуется. Процедура выглядит следующим образом:
- Войдите в ECS как пользователь root.
- Выполните следующую команду, чтобы запросить все типы смонтированных файловых систем и UUID устройств:
blkid
Отображается следующая информация:
/dev/xvda1: UUID="ec51d860-34bf-4374-ad46-a0c3e337fd34" TYPE="ext3"/dev/xvda5: UUID="7a44a9ce-9281-4740-b95f-c8de33ae5c11" TYPE="swap"
- Запустите следующую команду для запроса grub.cfg файл:
cat /boot/grub/grub.cfg
Отображается следующая информация:
......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioinsmod part_msdosinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34elsesearch --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34fiecho 'Loading Linux 3.13.0-24-generic ...'linux /boot/vmlinuz-3.13.0-24-generic root=/dev/xvda1 roecho 'Loading initial ramdisk ...'initrd /boot/initrd.img-3.13.0-24-generic}
- Проверьте, находится ли корневой раздел в /boot/grub/grub.cfg файл конфигурации содержит root=/dev/xvda1 или root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
- Если root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 содержится, корневой раздел в формате UUID и не требует изменений.
- Если root=/dev/xvda1 содержится, корневой раздел в формате имени устройства. Перейдите к 5.
- Определите UUID устройства корневого раздела на основе root=/dev/xvda1 (имя устройства корневого раздела) и информацию о разделе, полученную при выполнении blkid команда.
- Выполните следующую команду, чтобы открыть grub.cfg файл:
vi /boot/grub/grub.cfg
- Нажмите i чтобы войти в режим редактирования и изменить корневой раздел в формат UUID, например, с root=/dev/xvda1 на root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
- Нажмите Esc, введите :wq, и нажмите Enter. Система сохраняет конфигурацию и выходит из vi-редактора.
- Выполните следующую команду, чтобы проверить изменение:
cat /boot/grub/grub.cfg
Изменение успешно, если отображается информация, похожая на следующую:
......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioinsmod part_msdosinsmod ext2if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34elsesearch --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34fiecho 'Loading Linux 3.13.0-24-generic ...'linux /boot/vmlinuz-3.13.0-24-generic root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 roecho 'Loading initial ramdisk ...'initrd /boot/initrd.img-3.13.0-24-generic}
- CentOS 6.5: Выполните blkid для получения UUID корневого раздела. Измените /boot/grub/grub.conf файл и используйте UUID корневого раздела для настройки пункта загрузки. Если корневой раздел уже использует UUID, изменений не требуется. Процедура выглядит следующим образом:
- Войдите в ECS как пользователь root.
- Выполните следующую команду для запроса всех типов смонтированных файловых систем и UUID устройств:
blkid
Отображается следующая информация:
/dev/xvda1: UUID="749d6c0c-990a-4661-bed1-46769388365a" TYPE="swap"/dev/xvda2: UUID="f382872b-eda6-43df-9516-5a687fecdce6" TYPE="ext4"
- Выполните следующую команду для запроса grub.conf файл:
cat /boot/grub/grub.conf
Отображается следующая информация:
default=0timeout=5splashimage=(hd0,1)/boot/grub/splash.xpm.gzhiddenmenutitle CentOS (2.6.32-573.8.1.el6.x86_64)root (hd0,1)kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=/dev/xvda2 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quietinitrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
- Проверьте, находится ли root-раздел в /boot/grub/grub.conf файл конфигурации содержит root=/dev/xvda2 или root=UUID=f382872b-eda6-43df-9516-5a687fecdce6.
- Если root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 содержится, корневой раздел в формате UUID и не требует изменений.
- Если root=/dev/xvda2 содержится, корневой раздел в формате имени устройства. Перейдите к 5.
- Определите UUID устройства корневого раздела на основе root=/dev/xvda2 (имя устройства корневого раздела) и информация о разделе, полученная при выполнении blkid команда.
- Выполните следующую команду, чтобы открыть grub.conf файл:
vi /boot/grub/grub.conf
- Нажмите i чтобы войти в режим редактирования и изменить корневой раздел в формат UUID, например, из root=/dev/xvda2 к root=UUID=f382872b-eda6-43df-9516-5a687fecdce6.
- Нажмите Esc, введите :wq, и нажмите Enter. Система сохраняет конфигурацию и выходит из редактора vi.
- Выполните следующую команду, чтобы проверить изменение:
cat /boot/grub/grub.conf
Изменение успешно, если отображается информация, похожая на следующую:
default=0timeout=5splashimage=(hd0,1)/boot/grub/splash.xpm.gzhiddenmenutitle CentOS (2.6.32-573.8.1.el6.x86_64)root (hd0,1)kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quietinitrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
- CentOS 7.0: Выполнить blkid чтобы получить UUID корневого раздела. Измените /boot/grub2/grub.cfg файл и используйте UUID корневого раздела для настройки загрузочного элемента. Если корневой раздел уже использует UUID, изменение не требуется.
- Войдите в ECS как пользователь root.
- Выполните следующую команду для запроса всех типов смонтированных файловых систем и UUID устройств:
blkid
Отображается следующая информация:
/dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs"/dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap"
- Выполните следующую команду для запроса grub.cfg файл:
cat /boot/grub2/grub.cfg
Отображается следующая информация:
......menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' {load_videoset gfxpayload=keepinsmod gzioinsmod part_msdosinsmod xfsset root='hd0,msdos2'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130elsesearch --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130filinux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/xvda2 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img}
- Проверьте, содержит ли корневой раздел в /boot/grub2/grub.cfg файл конфигурации содержит root=/dev/xvda2 или root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130.
- Если root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 содержится, раздел root находится в формате UUID и не требует изменения.
- Если root=/dev/xvda2 содержится, раздел root находится в формате имени устройства. Перейдите к 5.
- Определите UUID устройства раздела root на основе root=/dev/xvda2 (имя устройства раздела root) и информацию о разделах, полученную при выполнении blkid команды.
- Выполните следующую команду, чтобы открыть grub.cfg файл:
vi /boot/grub2/grub.cfg
- Нажмите i чтобы войти в режим редактирования и изменить корневой раздел в формат UUID, например, с root=/dev/xvda2 на root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130.
- Нажмите Esc, введите :wq, и нажмите Enter. Система сохраняет конфигурацию и выходит из редактора vi.
- Выполните следующую команду, чтобы проверить изменение:
cat /boot/grub2/grub.cfg
Изменение выполнено успешно, если отображается информация, похожая на следующую:
......menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' {load_videoset gfxpayload=keepinsmod gzioinsmod part_msdosinsmod xfsset root='hd0,msdos2'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130elsesearch --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130filinux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img}