16.06.2015 10:43
Troll
 
1. Добавление диска

Смотрим WWN’ы системы:

Код:
# cat /sys/class/fc_host/host0/port_name

0x5001438009aa1111

# cat /sys/class/fc_host/host1/port_name

0x5001438009aa1112
После выделения раздела на СХД:

Код:
#multipath –ll
должен показать что-либо, если не показывает, то:

Код:
# echo "1" > /sys/class/fc_host/host1/issue_lip

# echo "1" > /sys/class/fc_host/host2/issue_lip
если все равно не помогает, то правим файл /etc/multipath.conf к такому виду:

Код:
defaults {

        find_multipaths yes

        udev_dir  /dev

        polling_interval        10

        path_selector           "round-robin 0"

        path_grouping_policy    multibus

        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"

        prio                    /bin/true

        path_checker            readsector0

        rr_min_io               100

        rr_weight               priorities

        failback                immediate

        user_friendly_names     yes

        default_features        "1 queue_if_no_path"

}

devices {

        device {

          vendor   "HITACHI"

          product   "OPEN-"

          path_grouping_policy multibus

          getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"

          path_checker            readsector0

          path_selector           "round-robin 0"

          hardware_handler        "0"

          failback                15

          rr_weight               priorities

          no_path_retry           queue

         }

     }

blacklist {

}
И пробуем перезапустить демон multipath: /etc/init.d/multipathd restart

Далее снова multipath –ll. Если ничего не помогло, то перезагружаемся.

Когда раздел с СХД примаплен вывод multipath –ll следующий:

Код:
[root@nfs001 user]# multipath -ll

mpathd (360060e80101de3c0058bde0c00000029) dm-4 HITACHI,DF600F

size=300G features='1 queue_if_no_path' hwhandler='0' wp=rw

|-+- policy='round-robin 0' prio=1 status=active

| |- 1:0:3:41 sdg        8:96  active ready running

| `- 0:0:3:41 sdc        8:32  active ready running

`-+- policy='round-robin 0' prio=0 status=enabled

  |- 0:0:4:41 sdd        8:48  active ready running

  `- 1:0:4:41 sdh        8:112 active ready running
В данном случае 41 это номер LUN.

Как только раздел добавлен, создаем на нем pv-том и далее vg и lv.

Код:
pvcreate /dev/mapper/mpathd

vgcreate vg05 /dev/mapper/mpathd

lvcreate –l+100%FREE –n Vol05 /dev/vg05
Для создания файловой системы выполняем: mkfs.ext4 /dev/vg05/Vol05

Далее добавляем диск в /etc/fstab, не забыв создать для него точку монтирования, если она еще не создана.

2. Расширение диска

Для расширения диска с СХД остановка работы не требуется, но на сильно нагруженном томе расширение рекомендуется производить при отключенной нагрузке (например для СУБД).

Для начала расширяем том на СХД. По каждому пути диск для ОС виден как dm-* устройство, то есть мы для каждого устройства должны дать команду ядру на идентификацию, но для начала

нам нужно узнать эти пути:

Код:
[root@nfs001 user]# multipath -ll

mpathd (360060e80101de3c0058bde0c00000029) dm-4 HITACHI,DF600F

size=300G features='1 queue_if_no_path' hwhandler='0' wp=rw

|-+- policy='round-robin 0' prio=1 status=active

| |- 1:0:3:41 sdg        8:96  active ready running

| `- 0:0:3:41 sdc        8:32  active ready running

`-+- policy='round-robin 0' prio=0 status=enabled

  |- 0:0:4:41 sdd        8:48  active ready running

  `- 1:0:4:41 sdh        8:112 active ready running
В данном случае нас интересуют буквы дисков. Выполняем для них:

Код:
#for i in sdg sdc sdd sdh; do echo 1 > /sys/block/$i/device/rescan ; done
Далее заставляем перечитать диски уже сам multipathd:

Код:
# multipathd -k'resize map mpathd'
Все, теперь multipath –ll уже должен выводить новый размер тома. Остается расширить файловую систему.

Если файловая система была на lvm-томе, то нужно выполнить набор комманд:

Код:
#pvresize /dev/mapper/mpathd
Смотрим – удачно ли расширилась Volume Group

Код:
#vgs
И расширяем непосредственно логический том:

Код:
#lvextend –l+100%FREE -n Vol05 /dev/vg05/
Далее расширяем ФС:

Код:
#resize2fs /dev/vg05/Vol05 для ext2,3,4 (RHEL-based)

#resize2fs /dev/vg05/Vol05 для ext4 (для Oracle Linux)
Если раздел был создан непосредственно на примапленном томе, то достаточно последних двух комманд в таком виде:

Код:
#resize2fs /dev/mapper/ mpathd  для ext2,3,4 (RHEL-based)

#resize2fs /dev/mapper/mpathd  для ext4 (для Oracle Linux)
3. Удаление диска

Для удаления диска необходимо отмонтировать том. В случае LVM удалить логический том и Volume Group, PV :

Код:
#lvchange –a n /dev/vg05/Vol05

#vgchange –a n /dev/vg05 (убедитесь, что VG используется только удаляемым томом)

#lvremove /dev/vg05/Vol05

#vgremove /dev/vg05

#pvremove /dev/mapper/mpathd
В случае раздела, созданного на примапленном LUN без LVM достаточно просто отмонтировать раздел.

Далее удаляем диски, видимые через multipath –ll:

Код:
#for i in sdg sdc sdd sdh; do echo 1 > /sys/block/$i/device/delete ; done
Не забываем закомментировать или удалить строки, отвечающий за данный раздел в /etc/fstab.
22.01.2016 22:48
Mr_Vito
 
у меня сервак и схд, которые связаны по четырем FC
СХД отдает две луны, на 592.7 ГБ и 1993.9 ГБ
пытаюсь настроить multipaths
1)
[code]
[root@oracleserver etc]# cat /sys/class/fc_host/host1/port_name
0x21000024ff588846
[root@oracleserver etc]# cat /sys/class/fc_host/host2/port_name
0x21000024ff588847
[root@oracleserver etc]# cat /sys/class/fc_host/host3/port_name
0x21000024ff588a6c
[root@oracleserver etc]# cat /sys/class/fc_host/host4/port_name
0x21000024ff588a6d
{/code]
2) multipath –ll ничего не показывает, хотя:
Код:
[root@oracleserver ~]# fdisk -l
...

Диск /dev/sdd: 592.7 ГБ, 592705486848 байт
255 heads, 63 sectors/track, 72059 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000


Диск /dev/sdk: 1993.9 ГБ, 1993938567168 байт
255 heads, 63 sectors/track, 242415 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000


Диск /dev/sdg: 1993.9 ГБ, 1993938567168 байт
255 heads, 63 sectors/track, 242415 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000


Диск /dev/sdf: 592.7 ГБ, 592705486848 байт
255 heads, 63 sectors/track, 72059 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000


Диск /dev/sde: 1993.9 ГБ, 1993938567168 байт
255 heads, 63 sectors/track, 242415 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000


Диск /dev/sdh: 592.7 ГБ, 592705486848 байт
255 heads, 63 sectors/track, 72059 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000


Диск /dev/sdj: 592.7 ГБ, 592705486848 байт
255 heads, 63 sectors/track, 72059 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000


Диск /dev/sdi: 1993.9 ГБ, 1993938567168 байт
255 heads, 63 sectors/track, 242415 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 67108864 bytes
Disk identifier: 0x00000000

...
3) сделал конфиг как описан выше:
Код:
defaults {
        find_multipaths yes
        user_friendly_names yes
        udev_dir /dev
        polling_interval 10
        path_selector "round-robin 0"
        path_grouping_policy multibus
        getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
        prio /bin/true
        path_checker readsector0
        rr_min_io 100
        rr_weight priorities
        failback immediate
        default_features "1 queue_if_no_path"
}
devices {
        device {
                vendor "IBM"
                product "2145"
                getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
                path_checker readsector0
                path_selector "round-robin 0"
                hardware_handler "0"
                failback 15
                rr_weight priorities
                no_path_retry queue
        }
}
blacklist {
}
все равно multipath –ll ничего не показывает, что я делаю не так? и что я забыл сделать?
23.01.2016 00:02
Mr_Vito
 
multipath -ll так ничего не показывает :(
а вот:
Код:
[root@oracleserver etc]# cat /proc/partitions
major minor  #blocks  name

   8       16  291991552 sdb
   8       17  291991518 sdb1
   8        0  142577664 sda
   8        1     204800 sda1
   8        2     512000 sda2
   8        3  141858816 sda3
   8       32   61522944 sdc
   8       33   61522910 sdc1
   8       48  578813952 sdd
   8      112  578813952 sdh
   8       96 1947205632 sdg
   8       80  578813952 sdf
   8       64 1947205632 sde
   8      128 1947205632 sdi
  11        0    1048575 sr0
   8      160 1947205632 sdk
 252        0   52428800 dm-0
 252        1   33554432 dm-1
   8      144  578813952 sdj
 252        2    2097152 dm-2
 252        3   53776384 dm-3
 252        4  578813952 dm-4
 252        5 1947205632 dm-5
dm-4 и dm-5 то что надо
а dm-1,2,3,4 фиг знает откуда взялись :( и как их извести?
23.01.2016 00:04
Mr_Vito
 
конфиг у меня теперь такой:
Код:
defaults {
        verbosity 2
        polling_interval 5
        udev_dir "/dev"
        multipath_dir "/lib64/multipath"
        path_selector "round-robin 0"
        path_grouping_policy failover
        getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
        prio const
        features "0"
        path_checker directio
        failback manual
        rr_min_io 1000
        rr_min_io_rq 1
        max_fds 1048576
        rr_weight uniform
        queue_without_daemon no
        hwtable_regex_match no
        pg_timeout none
        flush_on_last_del no
        user_friendly_names yes
        fast_io_fail_tmo 5
        find_multipaths yes
        log_checker_err always
        retain_attached_hw_handler no
        detect_prio no
        reload_readwrite no
        replace_wwid_whitespace no
        force_sync no
}

devices {
<------>device {
<------><------>vendor "IBM"
<------><------>product "^2145"
<------><------>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 priorities
<------><------>no_path_retry queue
<------>}
}
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^dcssblk[0-9]*"
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^(td|hd)[a-z]"
        devnode "^dcssblk[0-9]*"
        wwid "3600507605b4025f11b6fe4c34129f60b"
}
23.01.2016 00:18
Mr_Vito
 
и еще:
Код:
[root@oracleserver multipath]# dmsetup ls --target=multipath
mpathe  (252, 4)
mpathf  (252, 5)
23.01.2016 00:30
Mr_Vito
 
у меня не работает multipath -ll , но зато оказывается работает:
Код:
[root@oracleserver multipath]# multipathd -k
multipathd> show topology
mpathe (360050763008084c7600000000000000d) dm-4 IBM,2145
size=552G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=50 status=active
| |- 1:0:0:0 sdd 8:48  active ready running
| `- 2:0:0:0 sdf 8:80  active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
  |- 3:0:0:0 sdh 8:112 active ready running
  `- 4:0:0:0 sdj 8:144 active ready running
mpathf (360050763008084c7600000000000000f) dm-5 IBM,2145
size=1.8T features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=50 status=active
| |- 3:0:0:1 sdi 8:128 active ready running
| `- 4:0:0:1 sdk 8:160 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
  |- 1:0:0:1 sde 8:64  active ready running
  `- 2:0:0:1 sdg 8:96  active ready running
multipathd>
а левые пути которые болтались, я в blacklist засунул
23.01.2016 01:37
Mr_Vito
 
вообщем все заработало кроме multipath –ll
ну и фиг бы с ним
10.11.2023 08:56
MadMike
 
Всем привет!
У меня такая задача - надо раздел с данными на СХД переключить с одного сервера на другой. На разделе LVM - 1 VG - 1LV.
Правильно ли я понимаю, что мне требуется сделать, как в первом сообщении:
1) Отмонтировать раздел
2) деактивировать LV и VG разделы
#lvchange –a n /dev/vg05/Vol05
#vgchange –a n /dev/vg05
#vgexport /dev/vg05
3) Далее удаляем диски, видимые через multipath –ll:
#for i in sdg sdc sdd sdh; do echo 1 > /sys/block/$i/device/delete ; done
4) удалить строки, отвечающий за данный раздел в /etc/fstab.
5) reload multipathd чтобы пропало устройство в multipath

1) маппим на СХД этот LUN на новый сервер
2) сканируем шину и прочее, как при обычном добавлении нового LUN
2) #pvscan
3) vgimport vg05
4) монтируем в нужную папку

Таков ли порядок действий?
10.11.2023 12:52
Occul
 
Для переноса LVM с одного сервера на другой, следуйте следующим шагам:

1. Проверьте, что оба сервера имеют установленный LVM и имеют достаточно свободного пространства для размещения PV, VG и LV.

2. Создайте бэкап всех важных данных, которые находятся на LV, который вы собираетесь перенести.

3. Убедитесь, что LV не смонтирован на текущем сервере и что никакие процессы не используют его.

4. Отключите LV на текущем сервере, выполнив команду umount.

5. Выгрузите VG на текущем сервере, используя команду vgchange -an.

6. Отключите физический том (PV) на текущем сервере, выполнив команду vgexport.

7. Перенесите физический том (PV) на новый сервер и импортируйте его, выполнив команду vgimport.

8. Активируйте VG на новом сервере, используя команду vgchange -ay.

9. Создайте точку монтирования для LV на новом сервере, выполнив команду mkdir.

10. Смонтируйте LV на новом сервере, выполнив команду mount.

11. Проверьте, что LV успешно перенесен и работает на новом сервере.

Обратите внимание, что перенос LVM является сложной процедурой и может иметь потенциальные риски потери данных. Поэтому рекомендуется предварительно протестировать процесс на тестовой среде и обеспечить наличие резервной копии данных.
13.11.2023 07:47
MadMike
 
Цитата:
Occul Для переноса LVM с одного сервера на другой, следуйте следующим шагам:

1. Проверьте, что оба сервера имеют установленный LVM и имеют достаточно свободного пространства для размещения PV, VG и LV.

------------------------

11. Проверьте, что LV успешно перенесен и работает на новом сервере.

Обратите внимание, что перенос LVM является сложной процедурой и может иметь потенциальные риски потери данных. Поэтому рекомендуется предварительно протестировать процесс на тестовой среде и обеспечить наличие резервной копии данных.
Да, так я и сделал.

Всё прошло успешно, без ругани и проблем.
Меня тут больше интересовал момент multipath и удаления устройств - так как, если не удалить, то сервер начинает искать свои отмапленные диски и LUN и ругается сильно.
По моему алгоритму вроде работает.
Только multipath -f wwid - вроде можно еще удалить само multipath устройство, но у меня и без этого вроде нормально прошло. После удаления всех дисков устройство тоже исчезло.
Часовой пояс GMT +3, время: 22:59.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.