Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Typowym scenariuszem jest użycie programowej macierzy RAID na maszynach wirtualnych z systemem Linux na platformie Azure, aby połączyć wiele dołączonych dysków danych w jedno urządzenie RAID. Zazwyczaj może to służyć do zwiększenia wydajności i umożliwienia zwiększenia przepływności w porównaniu z użyciem tylko jednego dysku.
Dołączanie dysków danych
Do skonfigurowania urządzenia RAID potrzebne są co najmniej dwa puste dyski danych. Główną przyczyną utworzenia urządzenia RAID jest zwiększenie wydajności operacji we/wy dysku. W zależności od potrzeb dotyczących we/wy, możesz dołączyć dyski przechowywane w naszym magazynie Standard Storage z maksymalnie 500 operacjami we/wy na sekundę na dysk lub w naszym magazynie Premium Storage z maksymalnie 5000 operacjami we/wy na sekundę na dysk. W tym artykule nie opisano szczegółowo sposobu aprowizowania i dołączania dysków danych do maszyny wirtualnej z systemem Linux. Aby zapoznać się ze szczegółowymi instrukcjami dotyczącymi dołączania pustego dysku danych do maszyny wirtualnej z systemem Linux na platformie Azure, przeczytaj artykuł Microsoft Azure #c0 dołączanie dysku#c1.
Ważne
Nie mieszaj dysków o różnych rozmiarach, co spowodowałoby ograniczenie wydajności zestawu raidset do najwolniejszego dysku.
Instalowanie narzędzia mdadm
Ubuntu
sudo apt-get update sudo apt-get install mdadm
CentOS i Oracle Linux
sudo yum install mdadm
SLES i openSUSE
zypper install mdadm
Tworzenie partycji dysku
W tym przykładzie utworzymy pojedynczą partycję dysku na /dev/sdc. Nowa partycja dysku będzie nazywana /dev/sdc1.
Rozpocznij
fdisk
tworzenie partycjisudo fdisk /dev/sdc Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xa34cb70c. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Naciśnij "n" po wyświetleniu monitu, aby utworzyć partycję new:
Command (m for help): n
Następnie naciśnij "p", aby utworzyć partycjęobręczą:
Command action e extended p primary partition (1-4)
Naciśnij "1", aby wybrać numer partycji 1:
Partition number (1-4): 1
Wybierz punkt początkowy nowej partycji lub naciśnij
<enter>
, aby zaakceptować wartość domyślną, aby umieścić partycję na początku wolnego miejsca na dysku:First cylinder (1-1305, default 1): Using default value 1
Wybierz rozmiar partycji, na przykład wpisz "+10G", aby utworzyć partycję 10 gigabajtów. Możesz też nacisnąć pozycję
<enter>
Utwórz pojedynczą partycję, która obejmuje cały dysk:Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): Using default value 1305
Następnie zmień identyfikator i typepartycji z domyślnego identyfikatora "83" (Linux) na identyfikator "fd" (auto raid systemu Linux):
Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd
Na koniec zapisz tabelę partycji na dysku i zakończ działanie programu fdisk.
Command (m for help): w The partition table has been altered!
Tworzenie tablicy RAID
W poniższym przykładzie zrealizowane zostanie "paskowanie" (RAID poziom 0) trzech partycji znajdujących się na trzech oddzielnych dyskach danych (sdc1, sdd1, sde1). Po uruchomieniu tego polecenia zostanie utworzone nowe urządzenie RAID o nazwie /dev/md127 . Należy również pamiętać, że jeśli te dyski danych były wcześniej częścią innej nieistniejącej macierzy RAID, może być konieczne dodanie parametru
--force
mdadm
do polecenia:sudo mdadm --create /dev/md127 --level 0 --raid-devices 3 \ /dev/sdc1 /dev/sdd1 /dev/sde1
Tworzenie systemu plików na nowym urządzeniu RAID
CentOS, Oracle Linux, SLES 12, openSUSE i Ubuntu
sudo mkfs -t ext4 /dev/md127
SLES 11
sudo mkfs -t ext3 /dev/md127
SLES 11 — włączanie boot.md i tworzenie pliku mdadm.conf
sudo -i chkconfig --add boot.md sudo echo 'DEVICE /dev/sd*[0-9]' >> /etc/mdadm.conf
Uwaga / Notatka
Ponowne uruchomienie może być wymagane po wprowadzeniu tych zmian w systemach SUSE. Ten krok nie jest wymagany w systemie SLES 12.
Dodaj nowy system plików do /etc/fstab
Ważne
Niewłaściwa edycja pliku /etc/fstab może spowodować, że system nie będzie się uruchamiał. Jeśli nie masz pewności, jak to zrobić, sprawdź informacje na temat prawidłowego edytowania tego pliku w dokumentacji dystrybucji. Zaleca się również utworzenie kopii zapasowej pliku /etc/fstab przed edycją.
Utwórz żądany punkt instalacji dla nowego systemu plików, na przykład:
sudo mkdir /data
Podczas edytowania /etc/fstab identyfikator UUID powinien być używany do odwołowania się do systemu plików, a nie nazwy urządzenia.
blkid
Użyj narzędzia , aby określić identyfikator UUID dla nowego systemu plików:sudo /sbin/blkid ........... /dev/md127: UUID="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" TYPE="ext4"
Otwórz plik /etc/fstab w edytorze tekstów i dodaj wpis dla nowego systemu plików, na przykład:
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults 0 2
Albo na SLES 11:
/dev/disk/by-uuid/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext3 defaults 0 2
Następnie zapisz i zamknij /etc/fstab.
Sprawdź, czy wpis /etc/fstab jest poprawny:
sudo mount -a
Jeśli to polecenie spowoduje wyświetlenie komunikatu o błędzie, sprawdź składnię w pliku /etc/fstab.
Następnie uruchom polecenie
mount
, aby upewnić się, że system plików jest zamontowany.mount ................. /dev/md127 on /data type ext4 (rw)
(Opcjonalnie) Parametry rozruchu awaryjnego
konfiguracja fstab
Wiele dystrybucji zawiera parametry montowania
nobootwait
albonofail
, które mogą zostać dodane do pliku /etc/fstab. Te parametry umożliwiają niepowodzenia podczas montowania określonego systemu plików i pozwalają systemowi Linux kontynuować rozruch, nawet jeśli nie jest w stanie prawidłowo zamontować systemu plików RAID. Aby uzyskać więcej informacji na temat tych parametrów, zapoznaj się z dokumentacją dystrybucji.Przykład (Ubuntu):
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults,nobootwait 0 2
Parametry rozruchu systemu Linux
Oprócz powyższych parametrów parametr jądra "
bootdegraded=true
" może pozwolić systemowi uruchomić się, nawet jeśli macierz RAID jest postrzegana jako uszkodzona lub zdegradowana, na przykład jeśli dysk danych jest przypadkowo usunięty z maszyny wirtualnej. Domyślnie może to również spowodować system nierozruchowy.Zapoznaj się z dokumentacją dystrybucji dotyczącą prawidłowego edytowania parametrów jądra. Na przykład w wielu dystrybucjach (CentOS, Oracle Linux, SLES 11) te parametry można dodać ręcznie do pliku "
/boot/grub/menu.lst
". W systemie Ubuntu ten parametr można dodać do zmiennejGRUB_CMDLINE_LINUX_DEFAULT
"/etc/default/grub".
Obsługa funkcji TRIM/UNMAP
Niektóre jądra systemu Linux obsługują operacje TRIM/UNMAP w celu odrzucenia nieużywanych bloków na dysku. Te operacje są szczególnie przydatne w magazynie standardowym, aby poinformować platformę Azure, że usunięte strony nie są już prawidłowe i można je odrzucić. Odrzucanie stron może obniżyć koszt, jeśli tworzysz duże pliki, a następnie je usuwasz.
Uwaga / Notatka
Macierz RAID nie może wydać poleceń odrzucania, jeśli rozmiar fragmentu tablicy jest ustawiony na wartość mniejszą niż domyślna (512 KB). Wynika to z faktu, że stopień szczegółowości niemapowania na hoście wynosi również 512 KB. Jeśli rozmiar fragmentu tablicy został zmodyfikowany za pomocą parametru --chunk=
mdadm, żądania TRIM/unmap mogą być ignorowane przez jądro.
Istnieją dwa sposoby, aby włączyć obsługę TRIM na maszynie wirtualnej z systemem Linux. Jak zwykle, skonsultuj się ze swoją dystrybucją, aby uzyskać zalecany sposób postępowania.
Użyj opcji montowania
discard
w/etc/fstab
. Na przykład:UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults,discard 0 2
W niektórych przypadkach opcja
discard
może mieć wpływ na wydajność. Alternatywnie możesz uruchomićfstrim
polecenie ręcznie z poziomu wiersza polecenia lub dodać je do narzędzia crontab w celu regularnego uruchamiania:Ubuntu
# sudo apt-get install util-linux # sudo fstrim /data
RHEL/CentOS
# sudo yum install util-linux # sudo fstrim /data