Вопрос: Что назвать ZFS vdev, который не изменится?


У меня есть Ubuntu (13.04) Desktop с поддержкой ZFS благодаря PPA zfs-native/stable,

Все работало очень хорошо. Я создал пул RAID-Z1, называемый inground с помощью следующей команды:

zpool create inground raidz1 sdb sdc sdd sde sdf

Позже, после того, как я не смог получить доступ к точке монтирования, которую я создал, я побежал zpool status и чуть не упал со стула, когда увидел 1 unavailable и 2 corrupt vdevs в пуле. После нескольких глубоких вдохов я заметил, что когда я недавно перезагрузил систему, у меня был указатель на палец USD в одном из передних портов моей башни. Это вызвало все /dev/sd* сопоставления, и все имело смысл. Я удалил USB-накопитель, перезагрузился, и все было хорошо.

Мой вопрос: как я могу предотвратить это в будущем? Есть ли другой, канонический, идентификатор, который я могу использовать для ссылки на физические диски при добавлении их в vdevs в zpool?


6
2017-09-16 19:23


Источник




Ответы:


Вы не должны использовать / dev / sdX имена для пулов ZFS в тех случаях, когда имена устройств SCSI могут меняться. См. Параметры в разделе / ​​dev / disk ...

[root@Davalan /dev/disk]# cd by-
by-id/   by-path/ by-uuid/ 

Обычно я использую /dev/disk/by-id записи для Linux zpools ...

# zpool status
  pool: vol1
 state: ONLINE
  scan: scrub repaired 0 in 1h44m with 0 errors on Sat Jul  6 13:12:06 2013
config:

        NAME                               STATE     READ WRITE CKSUM
        vol1                               ONLINE       0     0     0
          mirror-0                         ONLINE       0     0     0
            scsi-35000c5003af99fa7         ONLINE       0     0     0
            scsi-35000cca0153ec2d0         ONLINE       0     0     0
          mirror-1                         ONLINE       0     0     0
            scsi-35000cca01540e340         ONLINE       0     0     0
            scsi-35000cca01540e298         ONLINE       0     0     0
        cache
          ata-STEC_M8IOPS-50_STM000136649  ONLINE       0     0     0

а также...

[root@Davalan /dev/disk/by-id]# ls -1
ata-STEC_M8IOPS-50_STM000136649
ata-STEC_M8IOPS-50_STM000136649-part1
ata-STEC_M8IOPS-50_STM000136649-part9
scsi-35000c5003af99fa7
scsi-35000c5003af99fa7-part1
scsi-35000c5003af99fa7-part9
scsi-35000cca0153ec2d0
scsi-35000cca0153ec2d0-part1
scsi-35000cca0153ec2d0-part9
scsi-35000cca01540e298
scsi-35000cca01540e298-part1
scsi-35000cca01540e298-part9
scsi-35000cca01540e340
scsi-35000cca01540e340-part1
scsi-35000cca01540e340-part9
scsi-SATA_STEC_M8IOPS-50_STM000136649
scsi-SATA_STEC_M8IOPS-50_STM000136649-part1
scsi-SATA_STEC_M8IOPS-50_STM000136649-part9
wwn-0x5000a720300411f7
wwn-0x5000a720300411f7-part1
wwn-0x5000a720300411f7-part9
wwn-0x5000c5003af99fa7
wwn-0x5000c5003af99fa7-part1
wwn-0x5000c5003af99fa7-part9
wwn-0x5000cca0153ec2d0
wwn-0x5000cca0153ec2d0-part1
wwn-0x5000cca0153ec2d0-part9
wwn-0x5000cca01540e298
wwn-0x5000cca01540e298-part1
wwn-0x5000cca01540e298-part9
wwn-0x5000cca01540e340
wwn-0x5000cca01540e340-part1
wwn-0x5000cca01540e340-part9

5
2017-09-16 19:39



Вау. Некоторое время я пользовался системами Linux ... даже не знал о /dev/disk, Благодаря! - Chris Tonkinson
Следует отметить, что реализация ZFS в Linux не так уж умен, как родной код Solaris. В Solaris вы можете ожидать, что измененная нумерация дисков не вызовет проблем, в то время как ZFS в Linux, похоже, не справляется с этим случаем. При создании пулов с устройств iSCSI, у которых есть длинные именные имена, это становится утомительным. - the-wabbit


Хорошая новость заключается в том, что вы можете изменить схему конфигурации vdev, экспортируя и повторно импортируя свой пул. (из ZFS на Linux-документах)

admin@Test-ZFS:~$ sudo zpool status tankz
  pool: tankz
 state: ONLINE
  scan: resilvered 15K in 0h0m with 0 errors on Tue Feb 25 16:36:18 2014
config:

        NAME        STATE     READ WRITE CKSUM
        tankz       ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdd     ONLINE       0     0     0

errors: No known data errors

admin@Test-ZFS:~$ sudo zpool export tankz
admin@Test-ZFS:~$ sudo zpool import -d /dev/disk/by-id tankz
admin@Test-ZFS:~$ sudo zpool status tankz
  pool: tankz
 state: ONLINE
  scan: resilvered 15K in 0h0m with 0 errors on Tue Feb 25 16:36:18 2014
config:

        NAME                                       STATE     READ WRITE CKSUM
        tankz                                      ONLINE       0     0     0
          raidz1-0                                 ONLINE       0     0     0
            ata-VBOX_HARDDISK_VB3b2901c3-c7700ec9  ONLINE       0     0     0
            ata-VBOX_HARDDISK_VB4ad696a7-d3e6b542  ONLINE       0     0     0
            ata-VBOX_HARDDISK_VBbed2a908-5ddcaedb  ONLINE       0     0     0

errors: No known data errors

8
2018-02-25 23:59



Хороший трюк! Это, несомненно, было бы легче, чем уничтожить и воссоздать пул. - Chris Tonkinson