LVM типа RAID1 и Thinpool возможно ли это?

Вы пропустили шаги по созданию файловой системы.

dd if=/dev/urandom of=pseudoblock bs=1M count=100
losetup /dev/loop0 pseudoblock

Теперь вы можете создать на нем файловую систему.

mkfs.ext4 /dev/loop0

Как только это будет сделано, я могу получить UUID (, который идентифицирует файловую систему, поэтому, если вы ее не создали, вы не получите UUID ), а затем найдете ее.

blkid
/dev/vda1: UUID="a76b548b-f4e4-4616-bea0-469775cb852d" TYPE="ext4" PARTUUID="8395c684-01"
/dev/loop0: UUID="bb784e83-8484-4822-8930-20e02f689450" TYPE="ext4"

Затем я монтирую его и могу что-то в нем писать.

mount /dev/loop0 /mnt/loop

И как только это псевдоблочное устройство будет инициализировано с помощью файловой системы, вы можете смонтировать его непосредственно с помощью fstab, используя строку вроде (нет необходимости больше использовать lossup, и нет необходимости в UUID, файл не похож на /dev устройства, которые могут быть проверены в другом порядке, он не будет перемещаться, так что не проблема использовать его абсолютный путь ).

/root/pseudoblock  /mnt/loop    auto loop 0 0
2
07.12.2020, 19:53
1 ответ

Да, тонкий пул с RAID 1 возможен, и ваша настройка почти верна. Проблема заключается в метаданных, которые являются не RAID 1, а линейными, поэтому после потери одного диска ваш тонкий пул будет сломан. Вам необходимо создать отдельный LV RAID 1 для метаданных, а затем использовать --poolmetadata <vg>/<metadata lv>при преобразовании томов RAID в тонкий пул с помощью lvconvert.

См. справочную страницу lvmthin , раздел Допускайте сбои устройства с помощью рейда для получения дополнительной информации.

Пример из справочной страницы:

   # lvcreate --type raid1 -m 1 -n pool0 -L 10G vg /dev/sdA /dev/sdB
   # lvcreate --type raid1 -m 1 -n pool0meta -L 1G vg /dev/sdC /dev/sdD
   # lvconvert --type thin-pool --poolmetadata vg/pool0meta vg/pool0

Вывод lvs -aс этой настройкой:

$ sudo lvs raid_test -a
  LV                     VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  [lvol0_pmspare]        raid_test ewi-------  12,00m                                                    
  pool0                  raid_test twi-a-tz-- 100,00m             0,00   10,29                           
  [pool0_tdata]          raid_test rwi-aor--- 100,00m                                    100,00          
  [pool0_tdata_rimage_0] raid_test iwi-aor--- 100,00m                                                    
  [pool0_tdata_rimage_1] raid_test iwi-aor--- 100,00m                                                    
  [pool0_tdata_rmeta_0]  raid_test ewi-aor---   4,00m                                                    
  [pool0_tdata_rmeta_1]  raid_test ewi-aor---   4,00m                                                    
  [pool0_tmeta]          raid_test ewi-aor---  12,00m                                    100,00          
  [pool0_tmeta_rimage_0] raid_test iwi-aor---  12,00m                                                    
  [pool0_tmeta_rimage_1] raid_test iwi-aor---  12,00m                                                    
  [pool0_tmeta_rmeta_0]  raid_test ewi-aor---   4,00m                                                    
  [pool0_tmeta_rmeta_1]  raid_test ewi-aor---   4,00m

Проблема с выводом атрибутов lvsзаключается в том, что только первый бит используется для указания типа LV, и это похоже на то, что и (r)aidи (t)hin poolтонкие пулы выигрывают, и вы получаете только t.

3
18.03.2021, 22:44

Теги

Похожие вопросы