Здравствуйте. Сразу прошу сильно не сердиться и не пинать. С проблемой бьюсь уже больше недели, гуглил, изучал, читал… своей головы и опыта не хватает, прошу помощи сообщества. Имею систему хранения данных Infortrend EonStor DS 1024 с двумя контроллерами на борту. Система хранения подключается 2 кабелями к SAS 9300-8e для организации отказоустойчивости. Произвожу установку Proxmox 6.2, настраиваю multipath, создаю LVM Physical volume перезагружаю систему и после этого Proxmox на 2 минуту зависает, сообщает о проблеме, после чего он не доступен по сети. При загрузке ругается на systemd-udev-settle. Если подключиться к серверу и руками стартовать systemd-udev-settle.service и ifupdown-pre.service, то они стартуют без каких либо проблем. Проблема с сетью решается ifup vmbr0, но это всё до перезагрузки. Если удалить созданный LVM Physical volume, то проблема с загрузкой уходит, но это не решение так как нужен дисковый массив. Обновил версию прошивки у СХД и SAS контроллера. Вот последовательность действий который я выполняю: Так всё выглядит на свежеустановленном Proxmox:
root@pve02:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 14.8G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part /boot/efi
└─sda3 8:3 0 14.3G 0 part
├─pve-swap 253:0 0 1.8G 0 lvm [SWAP]
├─pve-root 253:1 0 3.5G 0 lvm /
├─pve-data_tmeta 253:2 0 1G 0 lvm
│ └─pve-data 253:4 0 5.3G 0 lvm
└─pve-data_tdata 253:3 0 5.3G 0 lvm
└─pve-data 253:4 0 5.3G 0 lvm
Презентовал разделы серверу, так как он имеет мульти подключение, то система видит 2 диска sdb и sdc: root@pve02:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 14.8G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part /boot/efi
└─sda3 8:3 0 14.3G 0 part
├─pve-swap 253:0 0 1.8G 0 lvm [SWAP]
├─pve-root 253:1 0 3.5G 0 lvm /
├─pve-data_tmeta 253:2 0 1G 0 lvm
│ └─pve-data 253:4 0 5.3G 0 lvm
└─pve-data_tdata 253:3 0 5.3G 0 lvm
└─pve-data 253:4 0 5.3G 0 lvm
sdb 8:16 0 100G 0 disk
sdc 8:32 0 100G 0 disk
root@pve02:~# apt-get install multipath-tools
root@pve02:~# /lib/udev/scsi_id -g -u -d /dev/sdb
3600d0231000979157a4816613a99e509
root@pve02:~# multipath -ll
ничего не выводит
root@pve02:~# multipath -a 3600d0231000979157a4816613a99e509
root@pve02:~# systemctl restart multipath-tools.service
root@pve02:~# multipath -ll
3600d0231000979157a4816613a99e509 dm-5 IFT,DS 1000 Series
size=100G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 0:0:0:0 sdb 8:16 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
`- 0:0:1:0 sdc 8:32 active ready running
root@pve02:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 14.8G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part /boot/efi
└─sda3 8:3 0 14.3G 0 part
├─pve-swap 253:0 0 1.8G 0 lvm [SWAP]
├─pve-root 253:1 0 3.5G 0 lvm /
├─pve-data_tmeta 253:2 0 1G 0 lvm
│ └─pve-data 253:4 0 5.3G 0 lvm
└─pve-data_tdata 253:3 0 5.3G 0 lvm
└─pve-data 253:4 0 5.3G 0 lvm
sdb 8:16 0 100G 0 disk
└─3600d0231000979157a4816613a99e509 253:5 0 100G 0 mpath
sdc 8:32 0 100G 0 disk
└─3600d0231000979157a4816613a99e509 253:5 0 100G 0 mpath
root@pve02:~# dmsetup ls –tree
pve-swap (253:0)
└─ (8:3)
pve-root (253:1)
└─ (8:3)
pve-data (253:4)
├─pve-data_tdata (253:3)
│ └─ (8:3)
└─pve-data_tmeta (253:2)
└─ (8:3)
3600d0231000979157a4816613a99e509 (253:5)
├─ (8:32)
└─ (8:16)
root@pve02:~# multipath -v3
Apr 28 17:04:17 | set open fds limit to 1048576/1048576
Apr 28 17:04:17 | loading //lib/multipath/libchecktur.so checker
Apr 28 17:04:17 | checker tur: message table size = 3
Apr 28 17:04:17 | loading //lib/multipath/libprioconst.so prioritizer
Apr 28 17:04:17 | foreign library "nvme" loaded successfully
Apr 28 17:04:17 | sda: udev property ID_WWN whitelisted
Apr 28 17:04:17 | sda: mask = 0x1f
Apr 28 17:04:17 | sda: dev_t = 8:0
Apr 28 17:04:17 | sda: size = 30932992
Apr 28 17:04:17 | sda: vendor = ATA
Apr 28 17:04:17 | sda: product = SuperMicro SSD
Apr 28 17:04:17 | sda: rev = 0R
Apr 28 17:04:17 | sda: h:b:t:l = 9:0:0:0
Apr 28 17:04:17 | sda: tgt_node_name = ata-9.00
Apr 28 17:04:17 | sda: path state = running
Apr 28 17:04:17 | sda: 1925 cyl, 255 heads, 63 sectors/track, start at 0
Apr 28 17:04:17 | sda: serial = SMC0515D95016A906072
Apr 28 17:04:17 | sda: get_state
Apr 28 17:04:17 | sda: detect_checker = yes (setting: multipath internal)
Apr 28 17:04:17 | failed to issue vpd inquiry for pgc9
Apr 28 17:04:17 | sda: path_checker = tur (setting: multipath internal)
Apr 28 17:04:17 | sda: checker timeout = 30 s (setting: kernel sysfs)
Apr 28 17:04:17 | sda: tur state = up
Apr 28 17:04:17 | sda: uid_attribute = ID_SERIAL (setting: multipath internal)
Apr 28 17:04:17 | sda: uid = SuperMicro_SSD_SMC0515D95016A906072 (udev)
Apr 28 17:04:17 | sda: detect_prio = yes (setting: multipath internal)
Apr 28 17:04:17 | sda: prio = const (setting: multipath internal)
Apr 28 17:04:17 | sda: prio args = "" (setting: multipath internal)
Apr 28 17:04:17 | sda: const prio = 1
Apr 28 17:04:17 | sdb: udev property ID_WWN whitelisted
Apr 28 17:04:17 | sdb: mask = 0x1f
Apr 28 17:04:17 | sdb: dev_t = 8:16
Apr 28 17:04:17 | sdb: size = 209715200
Apr 28 17:04:17 | sdb: vendor = IFT
Apr 28 17:04:17 | sdb: product = DS 1000 Series
Apr 28 17:04:17 | sdb: rev = 661W
Apr 28 17:04:17 | sdb: h:b:t:l = 0:0:0:0
Apr 28 17:04:17 | sdb: tgt_node_name = 0x500d023001979150
Apr 28 17:04:17 | sdb: path state = running
Apr 28 17:04:17 | sdb: 13054 cyl, 255 heads, 63 sectors/track, start at 0
Apr 28 17:04:17 | sdb: serial = 0979157A4816613A99E509
Apr 28 17:04:17 | sdb: get_state
Apr 28 17:04:17 | sdb: detect_checker = yes (setting: multipath internal)
Apr 28 17:04:17 | failed to issue vpd inquiry for pgc9
Apr 28 17:04:17 | sdb: path_checker = tur (setting: storage device autodetected)
Apr 28 17:04:17 | sdb: checker timeout = 30 s (setting: kernel sysfs)
Apr 28 17:04:17 | sdb: tur state = up
Apr 28 17:04:17 | sdb: uid_attribute = ID_SERIAL (setting: multipath internal)
Apr 28 17:04:17 | sdb: uid = 3600d0231000979157a4816613a99e509 (udev)
Apr 28 17:04:17 | sdb: detect_prio = yes (setting: multipath internal)
Apr 28 17:04:17 | failed to issue vpd inquiry for pgc9
Apr 28 17:04:17 | loading //lib/multipath/libprioalua.so prioritizer
Apr 28 17:04:17 | sdb: prio = alua (setting: storage device autodetected)
Apr 28 17:04:17 | sdb: prio args = "" (setting: storage device autodetected)
Apr 28 17:04:17 | sdb: reported target port group is 1
Apr 28 17:04:17 | sdb: aas = 80 [active/optimized] [preferred]
Apr 28 17:04:17 | sdb: alua prio = 50
Apr 28 17:04:17 | sdc: udev property ID_WWN whitelisted
Apr 28 17:04:17 | sdc: mask = 0x1f
Apr 28 17:04:17 | sdc: dev_t = 8:32
Apr 28 17:04:17 | sdc: size = 209715200
Apr 28 17:04:17 | sdc: vendor = IFT
Apr 28 17:04:17 | sdc: product = DS 1000 Series
Apr 28 17:04:17 | sdc: rev = 661W
Apr 28 17:04:17 | sdc: h:b:t:l = 0:0:1:0
Apr 28 17:04:17 | sdc: tgt_node_name = 0x500d023101979150
Apr 28 17:04:17 | sdc: path state = running
Apr 28 17:04:17 | sdc: 13054 cyl, 255 heads, 63 sectors/track, start at 0
Apr 28 17:04:17 | sdc: serial = 0979157A4816613A99E509
Apr 28 17:04:17 | sdc: get_state
Apr 28 17:04:17 | sdc: detect_checker = yes (setting: multipath internal)
Apr 28 17:04:17 | failed to issue vpd inquiry for pgc9
Apr 28 17:04:17 | sdc: path_checker = tur (setting: storage device autodetected)
Apr 28 17:04:17 | sdc: checker timeout = 30 s (setting: kernel sysfs)
Apr 28 17:04:17 | sdc: tur state = up
Apr 28 17:04:17 | sdc: uid_attribute = ID_SERIAL (setting: multipath internal)
Apr 28 17:04:17 | sdc: uid = 3600d0231000979157a4816613a99e509 (udev)
Apr 28 17:04:17 | sdc: detect_prio = yes (setting: multipath internal)
Apr 28 17:04:17 | failed to issue vpd inquiry for pgc9
Apr 28 17:04:17 | sdc: prio = alua (setting: storage device autodetected)
Apr 28 17:04:17 | sdc: prio args = "" (setting: storage device autodetected)
Apr 28 17:04:17 | sdc: reported target port group is 2
Apr 28 17:04:17 | sdc: aas = 01 [active/non-optimized]
Apr 28 17:04:17 | sdc: alua prio = 10
Apr 28 17:04:17 | loop0: blacklisted, udev property missing
Apr 28 17:04:17 | loop1: blacklisted, udev property missing
Apr 28 17:04:17 | loop2: blacklisted, udev property missing
Apr 28 17:04:17 | loop3: blacklisted, udev property missing
Apr 28 17:04:17 | loop4: blacklisted, udev property missing
Apr 28 17:04:17 | loop5: blacklisted, udev property missing
Apr 28 17:04:17 | loop6: blacklisted, udev property missing
Apr 28 17:04:17 | loop7: blacklisted, udev property missing
Apr 28 17:04:17 | dm-0: blacklisted, udev property missing
Apr 28 17:04:17 | dm-1: blacklisted, udev property missing
Apr 28 17:04:17 | dm-2: blacklisted, udev property missing
Apr 28 17:04:17 | dm-3: blacklisted, udev property missing
Apr 28 17:04:17 | dm-4: blacklisted, udev property missing
Apr 28 17:04:17 | dm-5: blacklisted, udev property missing
===== paths list =====
uuid hcil dev dev_t pri dm_st chk_st vend/pr
SuperMicro_SSD_SMC0515D95016A906072 9:0:0:0 sda 8:0 1 undef undef ATA,Sup
3600d0231000979157a4816613a99e509 0:0:0:0 sdb 8:16 50 undef undef IFT,DS
3600d0231000979157a4816613a99e509 0:0:1:0 sdc 8:32 10 undef undef IFT,DS
Apr 28 17:04:17 | libdevmapper version 1.02.155 (2018-12-18)
Apr 28 17:04:17 | DM multipath kernel driver v1.13.0
Apr 28 17:04:17 | params = 1 queue_if_no_path 1 alua 2 1 service-time 0 1 2 8:16 1 1 service-t ime 0 1 2 8:32 1 1
Apr 28 17:04:17 | status = 2 0 1 0 2 1 A 0 1 2 8:16 A 0 0 1 E 0 1 2 8:32 A 0 0 1
Apr 28 17:04:17 | 3600d0231000979157a4816613a99e509: disassemble map [1 queue_if_no_path 1 alu a 2 1 service-time 0 1 2 8:16 1 1 service-time 0 1 2 8:32 1 1 ]
Apr 28 17:04:17 | 3600d0231000979157a4816613a99e509: disassemble status [2 0 1 0 2 1 A 0 1 2 8 :16 A 0 0 1 E 0 1 2 8:32 A 0 0 1 ]
Apr 28 17:04:17 | sda: udev property ID_WWN whitelisted
Apr 28 17:04:17 | wwid SuperMicro_SSD_SMC0515D95016A906072 not in wwids file, skipping sda
Apr 28 17:04:17 | sda: orphan path, only one path
Apr 28 17:04:17 | const prioritizer refcount 1
Apr 28 17:04:17 | sdb: udev property ID_WWN whitelisted
Apr 28 17:04:17 | sdc: udev property ID_WWN whitelisted
Apr 28 17:04:17 | alua prioritizer refcount 2
Apr 28 17:04:17 | alua prioritizer refcount 1
Apr 28 17:04:17 | unloading alua prioritizer
Apr 28 17:04:17 | unloading const prioritizer
Apr 28 17:04:17 | unloading tur checker
root@pve02:~# kpartx -a /dev/mapper/mpath0
root@pve02:~# fdisk /dev/mapper/mpath0
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x79bd4973.
Command (m for help): g
Created a new GPT disklabel (GUID: 839BB069-F319-9B45-8FE9-51937BBAAC2D).
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-209715166, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-209715166, default 209715166):
Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 8e
Type of partition 1 is unchanged: Linux filesystem.
Command (m for help): wq
The partition table has been altered.
Failed to add partition 1 to system: Invalid argument
The kernel still uses the old partitions. The new table will be used at the next reboot.
Syncing disks.
На данном этапе перезагружаю сервер, убеждаюсь, что всё загружается без ошибок.
pvcreate /dev/mapper/mpath0-part1
Physical volume "/dev/mapper/mpath0-part1" successfully created.
После выполнения этой команды сервер уже будет загружаться с ошибками. https://disk.yandex.ru/d/B8SS2HrlCEDfkA
Пробовал создавать файл multipath.conf и вносить в него настройки которые рекомендует производитель СХД (http://infostor.ru/img/pdf/RU_Note_ESDS_Multi-Pathing.pdf), но проблема остаётся:
devices {
device {
vendor "IFT"
product "DS 1000 Series"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
path_checker readsector0
path_selector "round-robin 0"
hardware_handler "0"
failback 15
rr_weight uniform
no_path_retry 12
prio alua
}
}
Пробовал добавить в /etc/lvm/lvm.conf следующую строку:
filter = [ "a|/dev/mapper/|", "a|/dev/sda.*|", "r|.*|" ]
#запись с global_filter закомментировал
После этого выполнил
update-initramfs -u
Проблема останется, но текст с ошибкой немного изменится - https://disk.yandex.ru/i/VIz8JyiPvd-KKQ
Данные pvereport - https://pastebin.com/bRiT74S3
Данные dmesg - https://pastebin.com/Kdc3LeR3
Данные journalctl - https://pastebin.com/7j9M9bN4
Буду признателен за любую информацию и помощь которая поможет решить мою проблему. За ранее большое спасибо за ответы.