3

У меня есть сервер Dell с подключенным к нему хранилищем Dell с настройкой многолучевого распространения. Специалисты Dell оставили сервер с установленной Red Hat 7 на внутреннем диске (/dev/sda) и подключенным диском к хранилищу в /dev/mapper/DB_DATA01 .

Все работало нормально, за исключением двух путей к внешнему хранилищу, которые также рассматривались как /dev /sdb и /dev /sdc.

Тогда я совершил ошибку: запущенный parted , чтобы создать gpt таблицу в / DEV / SDB вместо /dev/mapper/DB_DATA01 После того, как я это сделал, я правильно создал и отформатировал раздел xfs внутри /dev/mapper/DB_DATA01 , правильно настроил инструкцию монтирования в /dev/fstab . Затем я перезагрузился.

Теперь, каждый раз, когда я перезагружаю сервер, он запрашивает режим обслуживания, говоря, что он не смог смонтировать /dev/mapper/DB_DATA01 в точку монтирования /db2 . Но, если я нажимаю CTRL +D сервер запускается нормально, и все работает ...

Как я могу исправить этот беспорядок и сделать запуск сервера без запроса на обслуживание?

Я знаю, что где-то есть неправильная конфигурация. Кстати, вот выходы, которые у меня есть на данный момент:

[root @ db2server и т. д.] # cat /etc /fstab

#
# /etc/fstab
# Created by anaconda on Mon Oct 17 16:29:48 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=ad5ce7b2-4517-42a9-b558-afc40f5950b4 /                       xfs     defaults        0 0
UUID=ad193bfa-b17d-49da-92b5-53295f5e33b2 swap                    swap    defaults        0 0
UUID=f0241ef6-f167-4edb-9a48-4bda7433eec4 /db2                    xfs     noatime,nobarrier,allocsize=4k,largeio 0 2

[root @ db2server и т. д.] # ls -lha /dev /mapper /

total 0
drwxr-xr-x.  2 root root     140 Oct 31 17:27 .
drwxr-xr-x. 20 root root    3.5K Oct 31 17:27 ..
crw-------.  1 root root 10, 236 Oct 31 16:57 control
lrwxrwxrwx.  1 root root       7 Oct 31 17:27 DB_DATA01 -> ../dm-0
lrwxrwxrwx.  1 root root       7 Oct 31 17:27 DB_DATA01p1 -> ../dm-1
lrwxrwxrwx.  1 root root       7 Oct 31 17:27 DB_DATA01p2 -> ../dm-2
lrwxrwxrwx.  1 root root       7 Oct 31 17:27 DB_DATA01p3 -> ../dm-3

[root @ db2server и т. д.] # fdisk -l

Disk /dev/sda: 299.4 GB, 299439751168 bytes, 584843264 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 label type: dos
Disk identifier: 0x57b68016

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63       80324       40131   de  Dell Utility
/dev/sda2   *       81920     4276223     2097152    c  W95 FAT32 (LBA)
/dev/sda3         4276224    66775039    31249408   82  Linux swap / Solaris
/dev/sda4        66775040   584843263   259034112    5  Extended
/dev/sda5        66777088   584843263   259033088   83  Linux

Disk /dev/sdc: 3793.3 GB, 3793315115520 bytes, 7408818585 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 524288 bytes
Disk label type: dos
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.
fdisk: cannot open /dev/sdb: Input/output error

[root @ db2server и т. д.] # multipath -l

DB_DATA01 (36000d310034940000000000000000003) dm-0 COMPELNT,Compellent Vol
size=3.5T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=0 status=active
  |- 1:0:0:1  sdb 8:16 active undef  running
  `- 1:0:1:1  sdc 8:32 active undef  running

[root @ db2server и т. д.] # multipath -ll

DB_DATA01 (36000d310034940000000000000000003) dm-0 COMPELNT,Compellent Vol
size=3.5T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  |- 1:0:0:1  sdb 8:16 active ready  running
  `- 1:0:1:1  sdc 8:32 active ready  running

[root @ db2server и т. д.] # multipath -v2

*No data returned*

[root @ db2server и т. д.] # multipath -v3

Oct 31 17:40:16 | loading /lib64/multipath/libcheckdirectio.so checker
Oct 31 17:40:16 | loading /lib64/multipath/libprioconst.so prioritizer
Oct 31 17:40:16 | sda: device node name blacklisted
Oct 31 17:40:16 | sdb: not found in pathvec
Oct 31 17:40:16 | sdb: mask = 0x3f
Oct 31 17:40:16 | sdb: dev_t = 8:16
Oct 31 17:40:16 | sdb: size = 7408818585
Oct 31 17:40:16 | sdb: vendor = COMPELNT
Oct 31 17:40:16 | sdb: product = Compellent Vol
Oct 31 17:40:16 | sdb: rev = 0606
Oct 31 17:40:16 | sdb: h:b:t:l = 1:0:0:1
Oct 31 17:40:16 | sdb: tgt_node_name = 0x5000d31003494015
Oct 31 17:40:16 | sdb: path state = running

Oct 31 17:40:16 | sdb: 2425 cyl, 255 heads, 63 sectors/track, start at 0
Oct 31 17:40:16 | sdb: serial = 00034940-00000003
Oct 31 17:40:16 | sdb: get_state
Oct 31 17:40:16 | loading /lib64/multipath/libchecktur.so checker
Oct 31 17:40:16 | sdb: path checker = tur (controller setting)
Oct 31 17:40:16 | sdb: checker timeout = 30000 ms (sysfs setting)
Oct 31 17:40:16 | sdb: state = up
Oct 31 17:40:16 | sdb: uid_attribute = ID_SERIAL (internal default)
Oct 31 17:40:16 | sdb: uid = 36000d310034940000000000000000003 (udev)
Oct 31 17:40:16 | sdb: detect_prio = 1 (config file default)
Oct 31 17:40:16 | sdb: prio = const (controller setting)
Oct 31 17:40:16 | sdb: prio args = (null) (controller setting)
Oct 31 17:40:16 | sdb: const prio = 1
Oct 31 17:40:16 | sdc: not found in pathvec
Oct 31 17:40:16 | sdc: mask = 0x3f
Oct 31 17:40:16 | sdc: dev_t = 8:32
Oct 31 17:40:16 | sdc: size = 7408818585
Oct 31 17:40:16 | sdc: vendor = COMPELNT
Oct 31 17:40:16 | sdc: product = Compellent Vol
Oct 31 17:40:16 | sdc: rev = 0606
Oct 31 17:40:16 | sdc: h:b:t:l = 1:0:1:1
Oct 31 17:40:16 | sdc: tgt_node_name = 0x5000d31003494008
Oct 31 17:40:16 | sdc: path state = running

Oct 31 17:40:16 | sdc: 2425 cyl, 255 heads, 63 sectors/track, start at 0
Oct 31 17:40:16 | sdc: serial = 00034940-00000003
Oct 31 17:40:16 | sdc: get_state
Oct 31 17:40:16 | sdc: path checker = tur (controller setting)
Oct 31 17:40:16 | sdc: checker timeout = 30000 ms (sysfs setting)
Oct 31 17:40:16 | sdc: state = up
Oct 31 17:40:16 | sdc: uid_attribute = ID_SERIAL (internal default)
Oct 31 17:40:16 | sdc: uid = 36000d310034940000000000000000003 (udev)
Oct 31 17:40:16 | sdc: detect_prio = 1 (config file default)
Oct 31 17:40:16 | sdc: prio = const (controller setting)
Oct 31 17:40:16 | sdc: prio args = (null) (controller setting)
Oct 31 17:40:16 | sdc: const prio = 1
Oct 31 17:40:16 | sr0: device node name blacklisted
Oct 31 17:40:16 | sdd: not found in pathvec
Oct 31 17:40:16 | sdd: mask = 0x3f
Oct 31 17:40:16 | sdd: dev_t = 8:48
Oct 31 17:40:16 | sdd: size = 0
Oct 31 17:40:16 | sdd: vendor = iDRAC
Oct 31 17:40:16 | sdd: product = Virtual Floppy
Oct 31 17:40:16 | sdd: rev = 0329
Oct 31 17:40:16 | sdd: h:b:t:l = 12:0:0:1
Oct 31 17:40:16 | sdd: path state = running

Oct 31 17:40:16 | sr1: device node name blacklisted
Oct 31 17:40:16 | dm-0: device node name blacklisted
Oct 31 17:40:16 | dm-1: device node name blacklisted
Oct 31 17:40:16 | dm-2: device node name blacklisted
Oct 31 17:40:16 | dm-3: device node name blacklisted
===== paths list =====
uuid                              hcil     dev dev_t pri dm_st chk_st vend/pro
36000d310034940000000000000000003 1:0:0:1  sdb 8:16  1   undef ready  COMPELNT
36000d310034940000000000000000003 1:0:1:1  sdc 8:32  1   undef ready  COMPELNT
                                  12:0:0:1 sdd 8:48  -1  undef faulty iDRAC
Oct 31 17:40:16 | params = 1 queue_if_no_path 0 1 1 service-time 0 2 2 8:16 1 1 8:32 1 1
Oct 31 17:40:16 | status = 2 0 0 0 1 1 A 0 2 2 8:16 A 1 0 1 8:32 A 0 0 1
Oct 31 17:40:16 | DB_DATA01: disassemble map [1 queue_if_no_path 0 1 1 service-time 0 2 2 8:16 1 1 8:32 1 1 ]
Oct 31 17:40:16 | DB_DATA01: disassemble status [2 0 0 0 1 1 A 0 2 2 8:16 A 1 0 1 8:32 A 0 0 1 ]
Oct 31 17:40:16 | tur checker refcount 2
Oct 31 17:40:16 | const prioritizer refcount 2
Oct 31 17:40:16 | tur checker refcount 1
Oct 31 17:40:16 | const prioritizer refcount 1
Oct 31 17:40:16 | unloading const prioritizer
Oct 31 17:40:16 | unloading tur checker
Oct 31 17:40:16 | unloading directio checker

1 ответ1

0

Что ж ... после обширных исследований в Интернете я нашел решение, "обнуляющее" неправильный раздел GPT, созданный в /dev/sdb . После этого мне нужно было создать еще одну таблицу разделов gpt в /dev/mapper/DB_DATA01 (если вы заметили, что ранее было 3 раздела).

Здесь я использовал небольшой питон. Как удалить GPT с жесткого диска, чтобы удалить все таблицы разделов из /dev/sdb .

Затем я использовал утилиту gdisk для создания новой таблицы GPT и нового раздела, используя все пространство в подключенном устройстве.

После этого juste снова использовал mkfs.xfs для форматирования и получил идентификатор с помощью blkid . Затем заменили старый идентификатор в /etc/fstab и перезагрузили.

Вуаля! Все снова заработало!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .