Страница 1 из 1

Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-25 17:11:55
invint
Сегодня на Ubuntu 12.04 при запуске apt-get upgrade обновился grub и выдал вот такое сообщение (см. вложение)

Установил на первые два раздела (sda, sdb). Но теперь боюсь перезагружать сервер, т.к. нет уверенности что загрузится. Подскажите, как проверить, что GRUB установился и сервер загрузится. KVM нет, сервер в Германии.

Подскажите как проверить правильность конфига GRUB и быть уверенным, что сервер загрузится?

Re: Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-26 12:40:40
Andy
invint писал(а):Сегодня на Ubuntu 12.04 при запуске apt-get upgrade обновился grub и выдал вот такое сообщение (см. вложение)

Установил на первые два раздела (sda, sdb). Но теперь боюсь перезагружать сервер, т.к. нет уверенности что загрузится. Подскажите, как проверить, что GRUB установился и сервер загрузится. KVM нет, сервер в Германии.

Подскажите как проверить правильность конфига GRUB и быть уверенным, что сервер загрузится?
Наличие загрузочных разделов с винчестера:

Код: Выделить всё

[root@timelock ~]# fdisk -l

Disk /dev/sda: 500.1 GB, 500106780160 bytes, 976771055 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x174bb16d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63     2104514     1052226   82  Linux swap / Solaris
/dev/sda2         2104515   976768064   487331775   83  Linux

[root@timelock ~]#

Re: Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-26 22:40:44
invint
root@srv1:~# fdisk -l

Код: Выделить всё

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sda: 3000.6 GB, 3000592982016 bytes
256 heads, 63 sectors/track, 363376 cylinders, total 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
256 heads, 63 sectors/track, 363376 cylinders, total 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

Disk /dev/md1: 536 MB, 536858624 bytes
2 heads, 4 sectors/track, 131069 cylinders, total 1048552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md2: 1099.5 GB, 1099510439936 bytes
2 heads, 4 sectors/track, 268435166 cylinders, total 2147481328 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md3: 1887.7 GB, 1887656279040 bytes
2 heads, 4 sectors/track, 460853583 cylinders, total 3686828670 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md3 doesn't contain a valid partition table

Disk /dev/md0: 12.9 GB, 12883779584 bytes
2 heads, 4 sectors/track, 3145454 cylinders, total 25163632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table
Что-то я не могу понять по этому выводу на сколько все плохо и как это исправить. Прошу помощи.

Re: Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-27 8:51:35
Andy
invint писал(а):root@srv1:~# fdisk -l

Код: Выделить всё

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Что-то я не могу понять по этому выводу на сколько все плохо и как это исправить. Прошу помощи.
У Вас GPT, вам fdisk явно пишет, что нужно сделать.

Код: Выделить всё

# parted -l
Кстати, я так понимаю у Вас какие-то разделы в рейды объединены? Приведите пожалуйста,

Код: Выделить всё

df -h
cat /proc/mdstat

Re: Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-27 13:36:54
Graf
С GPT работает не fdisk, а gdisk.
И в сообщении явно сказано:
"Загрузчик GRUB был установлен на диск, который больше не существует или чей уникальный идентификатор изменился по неизвестным причинам."
заодно предлагается проверить graub.cfg

Проверял? Там все правильно указано?

Re: Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-27 18:15:15
invint

Код: Выделить всё

root@srv1:~# parted -l
Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 5      1049kB  2097kB  1049kB                     bios_grub
 1      2097kB  12.9GB  12.9GB                     raid
 2      12.9GB  13.4GB  537MB                      raid
 3      13.4GB  1113GB  1100GB                     raid
 4      1113GB  3001GB  1888GB                     raid


Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 5      1049kB  2097kB  1049kB                     bios_grub
 1      2097kB  12.9GB  12.9GB                     raid
 2      12.9GB  13.4GB  537MB                      raid
 3      13.4GB  1113GB  1100GB                     raid
 4      1113GB  3001GB  1888GB                     raid


Model: Linux Software RAID Array (md)
Disk /dev/md1: 537MB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End    Size   File system  Flags
 1      0.00B  537MB  537MB  ext3


Model: Linux Software RAID Array (md)
Disk /dev/md2: 1100GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  1100GB  1100GB  ext4


Model: Linux Software RAID Array (md)
Disk /dev/md3: 1888GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  1888GB  1888GB  ext4


Model: Linux Software RAID Array (md)
Disk /dev/md0: 12.9GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End     Size    File system     Flags
 1      0.00B  12.9GB  12.9GB  linux-swap(v1)

Код: Выделить всё

root@srv1:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2       1016G  1.5G  964G   1% /
udev            7.7G   12K  7.7G   1% /dev
tmpfs           3.1G  300K  3.1G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            7.7G     0  7.7G   0% /run/shm
cgroup          7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/md3        1.8T  339G  1.3T  21% /home
/dev/md1        496M   67M  404M  15% /boot

Код: Выделить всё

root@srv1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      12581816 blocks super 1.2 [2/2] [UU]

md3 : active raid1 sda4[0] sdb4[1]
      1843414335 blocks super 1.2 [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
      1073740664 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      524276 blocks super 1.2 [2/2] [UU]

unused devices: <none>
Graf, это сервер на hetzner. ОС там уже стояла и я не знаю как там был установлен grub, и почему мог измениться идентификатор диска. Я не знаю как именно должно быть указано в graub.cfg, по этому и написал сюда. Вот содержимое graub.cfg:

Код: Выделить всё

if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi
function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
  insmod vga
}
terminal_input console
terminal_output console
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
function gfxmode {
        set gfxpayload="${1}"
        if [ "${1}" = "keep" ]; then
                set vt_handoff=vt.handoff=7
        else
                set vt_handoff=
        fi
}
set linux_gfx_mode=text
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.2.0-36-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod raid
        insmod mdraid1x
        insmod part_gpt
        insmod part_gpt
        insmod ext2
        set root='(mduuid/2401dc7df6af706bc2da79183f2bc192)'
        search --no-floppy --fs-uuid --set=root 2caac47f-024c-4328-96ec-237dbe1ade89
        linux   /vmlinuz-3.2.0-36-generic root=UUID=df621b7d-5876-4204-9aab-a7fcf0d7fc3e ro   nomodeset
        initrd  /initrd.img-3.2.0-36-generic
}
menuentry 'Ubuntu, with Linux 3.2.0-36-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.2.0-33-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod raid
        insmod mdraid1x
        insmod part_gpt
        insmod part_gpt
        insmod ext2
        set root='(mduuid/2401dc7df6af706bc2da79183f2bc192)'
        search --no-floppy --fs-uuid --set=root 2caac47f-024c-4328-96ec-237dbe1ade89
        linux   /vmlinuz-3.2.0-33-generic root=UUID=df621b7d-5876-4204-9aab-a7fcf0d7fc3e ro   nomodeset
        initrd  /initrd.img-3.2.0-33-generic
}
menuentry 'Ubuntu, with Linux 3.2.0-33-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod gzio
        insmod raid
        insmod mdraid1x
        insmod part_gpt
        insmod part_gpt
        insmod ext2
        set root='(mduuid/2401dc7df6af706bc2da79183f2bc192)'
        search --no-floppy --fs-uuid --set=root 2caac47f-024c-4328-96ec-237dbe1ade89
        echo    'Loading Linux 3.2.0-33-generic ...'
        linux   /vmlinuz-3.2.0-33-generic root=UUID=df621b7d-5876-4204-9aab-a7fcf0d7fc3e ro recovery nomodeset
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-3.2.0-33-generic
}
}
menuentry "Memory test (memtest86+)" {
        insmod raid
        insmod mdraid1x
        insmod part_gpt
        insmod part_gpt
        insmod ext2
        set root='(mduuid/2401dc7df6af706bc2da79183f2bc192)'
        search --no-floppy --fs-uuid --set=root 2caac47f-024c-4328-96ec-237dbe1ade89
        linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
        insmod raid
        insmod mdraid1x
        insmod part_gpt
        insmod part_gpt
        insmod ext2
        set root='(mduuid/2401dc7df6af706bc2da79183f2bc192)'
        search --no-floppy --fs-uuid --set=root 2caac47f-024c-4328-96ec-237dbe1ade89
        linux16 /memtest86+.bin console=ttyS0,115200n8
}
if [ "x${timeout}" != "x-1" ]; then
  if sleep --verbose --interruptible 5 ; then
    set timeout=0
  fi
fi
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi

Re: Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-28 13:29:10
skeletor
[offtop]
У hetzner можно заказать на 2 часа LARA-console (IP KVM) бесплатно. Это так, на всякий случай, если вдруг накосячите.
[/offtop]

Re: Как проверить "правильность" конфига GRUB

Добавлено: 2013-01-30 8:40:19
Andy
invint писал(а):

Код: Выделить всё

root@srv1:~# parted -l
Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 5      1049kB  2097kB  1049kB                     bios_grub
 1      2097kB  12.9GB  12.9GB                     raid
 2      12.9GB  13.4GB  537MB                      raid
 3      13.4GB  1113GB  1100GB                     raid
 4      1113GB  3001GB  1888GB                     raid


Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 5      1049kB  2097kB  1049kB                     bios_grub
 1      2097kB  12.9GB  12.9GB                     raid
 2      12.9GB  13.4GB  537MB                      raid
 3      13.4GB  1113GB  1100GB                     raid
 4      1113GB  3001GB  1888GB                     raid


Model: Linux Software RAID Array (md)
Disk /dev/md1: 537MB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End    Size   File system  Flags
 1      0.00B  537MB  537MB  ext3


Model: Linux Software RAID Array (md)
Disk /dev/md2: 1100GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  1100GB  1100GB  ext4


Model: Linux Software RAID Array (md)
Disk /dev/md3: 1888GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  1888GB  1888GB  ext4


Model: Linux Software RAID Array (md)
Disk /dev/md0: 12.9GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End     Size    File system     Flags
 1      0.00B  12.9GB  12.9GB  linux-swap(v1)

Код: Выделить всё

root@srv1:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2       1016G  1.5G  964G   1% /
udev            7.7G   12K  7.7G   1% /dev
tmpfs           3.1G  300K  3.1G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            7.7G     0  7.7G   0% /run/shm
cgroup          7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/md3        1.8T  339G  1.3T  21% /home
/dev/md1        496M   67M  404M  15% /boot

Код: Выделить всё

root@srv1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      12581816 blocks super 1.2 [2/2] [UU]

md3 : active raid1 sda4[0] sdb4[1]
      1843414335 blocks super 1.2 [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
      1073740664 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      524276 blocks super 1.2 [2/2] [UU]

unused devices: <none>
Graf, это сервер на hetzner. ОС там уже стояла и я не знаю как там был установлен grub, и почему мог измениться идентификатор диска. Я не знаю как именно должно быть указано в graub.cfg, по этому и написал сюда. Вот содержимое graub.cfg:
У тебя загрузочный диск md1, установи загрузчики на sda и sdb диски (для информации - http://blog.shaggy-cat.ru/search/label/mdraid),
и перегенерируй grub.cfg.

Код: Выделить всё

grub-mkconfig -o /boot/grub/grub.cfg