Skocz do zawartości
Desavil

Proxmox 4.4 - Konfiguracja Soft RAID 1

Polecane posty

Witam,

 

Zainstalowałem z najnowszego ISO Proxmox 4.4. Zgodnie z dokumentacją, Proxmox nie obsługuje Soft RAID przy instalacji systemu i trzeba go skonfigurować samemu po zainstalowaniu.

 

Pierwsze co więc wykonałem po instalacji to "fdisk -l":

Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram1: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram2: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram3: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram4: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram5: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram6: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram7: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram8: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram9: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram10: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram11: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram12: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram13: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram14: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram15: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 560E798E-6AD5-4854-89D3-F14A4BCE7B64

Device      Start        End    Sectors  Size Type
/dev/sda1    2048       4095       2048    1M BIOS boot
/dev/sda2    4096     528383     524288  256M EFI System
/dev/sda3  528384 3907029134 3906500751  1.8T Linux LVM

Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1           1 3907029167 3907029167  1.8T fd Linux raid autodetect
/dev/sdb2           0          0          0    0B fd Linux raid autodetect
/dev/sdb3           0          0          0    0B fd Linux raid autodetect
/dev/sdb4           0          0          0    0B fd Linux raid autodetect

Partition 2 does not start on physical sector boundary.


Partition table entries are not in disk order.
Disk /dev/mapper/pve-root: 465.5 GiB, 499826819072 bytes, 976224256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/pve-swap: 1 TiB, 1099511627776 bytes, 2147483648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Następnie sprawdziłem "cat /proc/mdstat":

Personalities :
unused devices: <none>

Wykonałem polecenie "apt-get install mdadm", przy instalacji zostawiając domyślne wartości.

 

Następnie "cat /proc/mdstat":

Personalities : [raid1]
md0 : active raid1 sdb1[1]
      1953383488 blocks super 1.2 [2/1] [_U]
      bitmap: 0/15 pages [0KB], 65536KB chunk

unused devices: <none>

Kolejnym krokiem było skopiowanie tablicy partycji z dysku "sda" na "sdb" - system został zainstalowany na "sda" - "sfdisk -d /dev/sda | sfdisk --force /dev/sdb":

sfdisk: Checking that no-one is using this disk right now ...
sfdisk: BLKRRPART: Device or resource busy
sfdisk:
This disk is currently in use - repartitioning is probably a bad idea.
Umount all file systems, and swapoff all swap partitions on this disk.
Use the --no-reread flag to suppress this check.

Disk /dev/sdb: 243201 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0+ 243201- 243202- 1953514583+  fd  Linux raid autodetect
/dev/sdb2          0       -       0          0   fd  Linux raid autodetect
/dev/sdb3          0       -       0          0   fd  Linux raid autodetect
/dev/sdb4          0       -       0          0   fd  Linux raid autodetect
New situation:
Units: sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1             1 3907029167 3907029167  ee  GPT
/dev/sdb2             0         -          0   0  Empty
/dev/sdb3             0         -          0   0  Empty
/dev/sdb4             0         -          0   0  Empty
sfdisk: Warning: partition 1 does not end at a cylinder boundary
sfdisk: Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table ...
sfdisk: BLKRRPART: Device or resource busy
sfdisk: The command to re-read the partition table failed.
Run partprobe(8), kpartx(8) or reboot your system now,
before using mkfs
sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Jak widać pojawiły się błędy.

 

"fdisk -l" wyświetla teraz:

Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram1: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram2: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram3: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram4: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram5: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram6: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram7: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram8: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram9: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram10: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram11: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram12: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram13: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram14: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram15: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 560E798E-6AD5-4854-89D3-F14A4BCE7B64

Device      Start        End    Sectors  Size Type
/dev/sda1    2048       4095       2048    1M BIOS boot
/dev/sda2    4096     528383     524288  256M EFI System
/dev/sda3  528384 3907029134 3906500751  1.8T Linux LVM

Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1           1 3907029167 3907029167  1.8T ee GPT

Partition 2 does not start on physical sector boundary.


Disk /dev/mapper/pve-root: 465.5 GiB, 499826819072 bytes, 976224256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/pve-swap: 1 TiB, 1099511627776 bytes, 2147483648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/md0: 1.8 TiB, 2000264691712 bytes, 3906766976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Alignment offset: 3584 bytes

Moje pytanie, jak to zrobić prawidłowo, gdzie popełniłem błąd?

 

Dzięki!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może trochę nie na temat, ale czemu nie użyjesz ZFS-a, który jest wbudowany w Proxmoxa i daje podobną funkcjonalność?

Edytowano przez mcbarlo (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może trochę nie na temat, ale czemu nie użyjesz ZFS-a, który jest wbudowany w Proxmoxa i daje podobną funkcjonalność?

 

Niestety zbyt duże wykorzystanie pamięci RAM przez ZFS.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To jest fakt. Tablice partycji masz w formacie gpt dlatego użyj sgdiska albo ustaw na pustym dysku partycje z ręki w tych samych sektorach co na pierwszym.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety zbyt duże wykorzystanie pamięci RAM przez ZFS.

1 GB na 1 TB wielkości puli, to dużo?

Zdecydowanie szedłbym w stronę ZFS i vdev pod wirtualki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1 GB na 1 TB wielkości puli, to dużo?

Zdecydowanie szedłbym w stronę ZFS i vdev pod wirtualki.

 

Zjadło mi 7 GB na dyskach 2x2 TB (w RAID-1).

A utworzyłem dla testu tylko VM o wielkości dysku 50 GB i uwaga VM była wyłączona.

Edytowano przez Desavil (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przy defaultowej konfiguracji ZFS faktycznie może pożerać większość ramu. Jeśli ZFS ma być używany głównie do hostowania wirtualek to warto dla datasetu utrzymującego zvole wirtualek ustawić parametr primarycache na wartość metadata (domyślnie jest bodajże all). Ponadto można ustalić minimalną i maksymalną ilość pamięci jaką może zająć zfs poprzez parametry zfs_arc_min i zfs_arc_max w /etc/modprobe.d/zfs.conf

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czyli jak ustawię:

options zfs zfs_arc_min=1073741824
options zfs zfs_arc_max=2147483648  

To będzie dobrze? Czy wartość minimalną trzeba podawać, czy mogę go nie podawać?

 

PS. Po aktualizacji pliku "/etc/modprobe.d/zfs.conf" trzeba wykonać komendę "update-initramfs -u", aby zastosować zmiany.

 

 

Jeśli ZFS ma być używany głównie do hostowania wirtualek to warto dla datasetu utrzymującego zvole wirtualek ustawić parametr primarycache na wartość metadata (domyślnie jest bodajże all).

Możesz rozwinąć? Nie umiem znaleźć żadnych informacji na ten temat.

Edytowano przez Desavil (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Zjadło mi 7 GB na dyskach 2x2 TB (w RAID-1).

A utworzyłem dla testu tylko VM o wielkości dysku 50 GB i uwaga VM była wyłączona.

 

Jesteś pewien, że sam ZFS tą pamięć zużył? Może zwyczajnie to bufory dyskowe i cache?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Jesteś pewien, że sam ZFS tą pamięć zużył? Może zwyczajnie to bufory dyskowe i cache?

 

Zauważyłem, że dzieje się tak podczas pobierania ISO Debiana (DVD), użycie RAM błyskawicznie skacze. Przy zastosowaniu limitu o którym pisałem we wcześniejszym poście, widać, że dobrze się go trzyma.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Możesz rozwinąć? Nie umiem znaleźć żadnych informacji na ten temat.

 

Chodzi o to, że wirtualki tak czy siak będą sobie keszować filesystem w wolnej pamięci (tak, jak to sie dzieje w kazdym linuksie) dlatego nie ma sensu dodatkowo keszować danych w ARCu. Nic na tym nie zyskasz a niepotrzebnie będziesz zawalać sobie pamięć na maszynie-matce.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Chodzi o to, że wirtualki tak czy siak będą sobie keszować filesystem w wolnej pamięci (tak, jak to sie dzieje w kazdym linuksie) dlatego nie ma sensu dodatkowo keszować danych w ARCu. Nic na tym nie zyskasz a niepotrzebnie będziesz zawalać sobie pamięć na maszynie-matce.

 

Dzięki za wyjaśnienie.

 

Dowiedziałem się, że ustawia się to za pomoc "zfs set primarycache=metadata <nazwa>".

Co zatem powinienem wpisać za nazwa z listy?

NAME               USED  AVAIL  REFER  MOUNTPOINT
rpool             8.14G  1.75T    96K  /rpool
rpool/ROOT         715M  1.75T    96K  /rpool/ROOT
rpool/ROOT/pve-1   715M  1.75T   715M  /
rpool/data          96K  1.75T    96K  /rpool/data
rpool/swap        7.44G  1.76T    64K  -

Chyba wiem - rpool/data, ponieważ tak jest w Proxmox dla ZFS Pool dla obrazu dysków.

Edytowano przez Desavil (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tak, wpisujesz rpool/data. W ten sposób każdy zvol utworzony na tym datasecie będzie dziedziczył to ustawienie.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×