Administrator systemu Linux - zarządzanie woluminami

Logical Volume Management (LVM)to metoda używana w systemie Linux do zarządzania wolumenami pamięci masowej na różnych fizycznych dyskach twardych. Nie należy tego mylić z RAID. Można go jednak pomyśleć w podobnej koncepcji jak RAID 0 lub J-Bod. Dzięki LVM można mieć (na przykład) trzy dyski fizyczne o pojemności 1 TB każdy, a następnie logiczny wolumin około 3 TB, taki jak / dev / sdb. Lub nawet dwa logiczne woluminy o pojemności 1,5 TB, 5 woluminów po 500 GB lub dowolna kombinacja. Jeden dysk może być nawet używany do tworzenia migawek woluminów logicznych.

Note- Korzystanie z woluminów logicznych w rzeczywistości zwiększa liczbę operacji we / wy dysku po prawidłowej konfiguracji. Działa to podobnie do rozłożenia danych RAID 0 na oddzielnych dyskach.

Ucząc się o zarządzaniu głośnością za pomocą LVM, jest łatwiej, jeśli wiemy, czym jest każdy komponent w LVM. Zapoznaj się z poniższą tabelą, aby dokładnie zrozumieć każdy element. Jeśli potrzebujesz, użyj Google do nauki. Zrozumienie każdego elementu woluminu logicznego jest ważne, aby nim zarządzać.

PV Objętość fizyczna sda
PP Partycja fizyczna sda1, sda2
VG Grupa woluminów Połączone zasoby fizyczne
LV Wolumin logiczny Postrzegany jako miejsce do przechowywania systemu operacyjnego

ZA physical volumebędzie widoczny jako / dev / sda, / dev / sdb; dysk fizyczny wykrywany przez Linuksa.

ZA physical partitionbędzie częścią dysku podzieloną na partycje przez narzędzie dyskowe, takie jak fdisk. Pamiętaj, że partycja fizyczna nie jest zalecana w większości typowych konfiguracji LVM. Przykład: dysk / dev / sda jest podzielony na partycje, aby objąć dwie partycje fizyczne: / dev / sda1 i / dev / sda1

Jeśli mamy dwa dyski fizyczne o pojemności 1 TB każdy, możemy wśród nich utworzyć grupę woluminów o wielkości prawie 2 TB.

Z grupy woluminów możemy utworzyć trzy woluminy logiczne o dowolnym rozmiarze nie przekraczającym całkowitego rozmiaru grupy woluminów.

Tradycyjne narzędzia do administrowania dyskami w systemie Linux

Zanim zapoznamy się z najnowszymi i najlepiej wyposażonymi narzędziami do zarządzania LVM w CentOS 7, powinniśmy najpierw zbadać bardziej tradycyjne narzędzia, które były używane do zarządzania dyskami w systemie Linux. Narzędzia te przydadzą się i nadal będą używane z dzisiejszymi zaawansowanymi narzędziami LVM, takimi jak System Storage Manager: lsblk, parted i mkfs.xfs.

Zakładając, że dodaliśmy kolejny dysk lub dwa do naszego systemu, musimy wyliczyć dyski wykryte przez Linuksa. Zawsze radziłbym wyliczać dyski za każdym razem przed wykonaniem operacji uważanych za destrukcyjne.lsblkto świetne narzędzie do uzyskiwania informacji o dysku. Zobaczmy, jakie dyski wykrywa CentOS.

[root@localhost rdc]# lsblk
NAME         MAJ:MIN    RM    SIZE    RO    TYPE MOUNTPOINT
sda            8:0       0     20G     0        disk 
├─sda1         8:1       0      1G     0     part /boot
└─sda2         8:2       0     19G     0        part 
  ├─cl-root  253:0       0     17G     0      lvm  /
  └─cl-swap  253:1       0      2G     0      lvm  [SWAP]
    sdb       8:16       0      6G     0       disk 
    sdc       8:32       0      4G     0       disk 
    sr0       11:0       1   1024M     0       rom

Jak widać, mamy w tym systemie trzy dyski: sda, sdb i sdc.

Dysk sda zawiera działającą instalację CentOS, więc nie chcemy bawić się sda. Na potrzeby tego samouczka do systemu dodano zarówno sdb, jak i sdc . Uczyńmy te dyski użytecznymi dla CentOS.

Utwórz etykietę dysku

[root@localhost rdc]# parted /dev/sdb mklabel GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this
   disk will be lost. Do you want to continue?
Yes/No? Yes                               
[root@localhost rdc]#

Mamy teraz oznaczony jeden dysk. Po prostu uruchom polecenie parted w ten sam sposób na sdc .

Utwórz partycje na dysku

Utworzymy tylko jedną partycję na każdym dysku. Aby utworzyć partycje, ponownie używane jest polecenie rozdzielone .

[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%

Warning - Zażądałeś partycji od 0,00B do 6442 MB (sektory 0..12582911).

Najbliższa lokalizacja jaką możemy zarządzać to od 17,4kB do 1048kB (sektory 34..2047).

Czy to nadal jest dla ciebie do zaakceptowania?

Tak nie? NIE

[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%

Information - Może być konieczna aktualizacja / etc / fstab.

[root@localhost rdc]# lsblk                                               
NAME        MAJ:MIN   RM    SIZE    RO    TYPE MOUNTPOINT
sda           8:0      0     20G     0        disk 
├─sda1        8:1      0      1G     0      part / boot
└─sda2        8:2      0     19G     0        part 
 ├─cl-root  253:0      0     17G     0       lvm  /
 └─cl-swap  253:1      0      2G     0       lvm  [SWAP]
sdb          8:16      0      6G     0        disk 
└─sdb1       8:17      0      6G     0        part 
 sdc         8:32      0      4G     0        disk 
└─sdc1       8:33      0      4G     0        part 
sr0          11:0      1   1024M     0        rom

[root@localhost rdc]#

Jak widać z danych wyjściowych lsblk, mamy teraz dwie partycje, każdą na sdb i sdc.

Utwórz plik System

Wreszcie, przed zamontowaniem i użyciem dowolnego woluminu musimy dodać system plików. Będziemy używać systemu plików XFS.

root@localhost rdc]# mkfs.xfs -f /dev/sdb1
meta-data = /dev/sdb1               isize = 512    agcount = 4, agsize = 393088 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1572352, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0
[root@localhost rdc]# mkfs.xfs -f /dev/sdc1
meta-data   = /dev/sdc1             isize = 512    agcount = 4, agsize = 262016 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1048064, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0

[root@localhost rdc]#

Sprawdźmy, czy każdy z nich ma nadający się do użytku system plików.

[root@localhost rdc]# lsblk -o NAME,FSTYPE
NAME           FSTYPE
sda         
├─sda1         xfs
└─sda2         LVM2_member
 ├─cl-root     xfs
 └─cl-swap     swap
sdb         
└─sdb1         xfs
sdc         
└─sdc1         xfs
sr0

[root@localhost rdc]#

Każdy używa teraz systemu plików XFS. Zamontujmy je, sprawdźmy mocowanie i skopiujmy do każdego plik.

[root@localhost rdc]# mount -o defaults /dev/sdb1 /mnt/sdb
[root@localhost rdc]# mount -o defaults /dev/sdc1 /mnt/sdc

[root@localhost ~]# touch /mnt/sdb/myFile /mnt/sdc/myFile
[root@localhost ~]# ls /mnt/sdb /mnt/sdc
 /mnt/sdb:
  myFile

 /mnt/sdc:
  myFile

W tym momencie mamy dwa dyski, których można użyć. Jednak będą one użyteczne tylko wtedy, gdy zamontujemy je ręcznie. Aby zamontować każdy podczas rozruchu, musimy edytować plik fstab . Ponadto należy ustawić uprawnienia dla grup, które potrzebują dostępu do nowych dysków.

Utwórz grupy woluminów i woluminy logiczne

Jednym z największych dodatków do CentOS 7 było włączenie narzędzia o nazwie System Storage Manager lub ssm .System Storage Manager znacznie upraszcza proces zarządzania pulami LVM i woluminami pamięci masowej w systemie Linux.

Przejdziemy przez proces tworzenia prostej puli woluminów i woluminów logicznych w CentOS. Pierwszym krokiem jest instalacja Menedżera pamięci systemu.

[root@localhost rdc]# yum  install system-storage-manager

Spójrzmy na nasze dyski za pomocą polecenia ssm list .

Jak widać powyżej, w systemie zainstalowane są łącznie trzy dyski.

  • /sdba1 - Hostuje naszą instalację CentOS

  • /sdb1 - Zamontowany w / mnt / sdb

  • /sdc1 - Zamontowany w / mnt / sdc

To, co chcemy zrobić, to utworzyć grupę woluminów przy użyciu dwóch dysków (sdb i sdc). Następnie udostępnij systemowi trzy woluminy logiczne o pojemności 3 GB.

Stwórzmy naszą grupę woluminów.

[root@localhost rdc]# ssm create -p NEW_POOL /dev/sdb1 /dev/sdc1

Domyślnie ssm utworzy pojedynczy wolumin logiczny rozszerzający całe 10 GB puli. Nie chcemy tego, więc usuńmy to.

[root@localhost rdc]# ssm remove /dev/NEW_POOL/lvol001
 Do you really want to remove active logical volume NEW_POOL/lvol001? [y/n]: y
 Logical volume "lvol001" successfully removed
[root@localhost rdc]#

Na koniec utwórzmy trzy logiczne woluminy.

[root@localhost rdc]# ssm create -n disk001 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk002 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk003 --fs xfs -s 3GB -p NEW_POOL

Teraz sprawdźmy nasze nowe tomy.

Mamy teraz trzy oddzielne woluminy logiczne podzielone na dwie fizyczne partycje dysku.

Woluminy logiczne to potężna funkcja wbudowana teraz w CentOS Linux. Dotknęliśmy powierzchni, jeśli chodzi o zarządzanie nimi. Opanowanie pul i woluminów logicznych wiąże się z ćwiczeniami i rozszerzoną nauką z Tutorials Point. Na razie poznałeś podstawy zarządzania LVM w CentOS i masz możliwość tworzenia podstawowych rozłożonych woluminów logicznych na jednym hoście.