Przejdź do głównej zawartości

Linux RHCSA cz.19 - System plików - Dodatkowe polecenia jakie mogą się przydać

Od czasu do czasu w systemie należy przeprowadzić konserwacje systemu plików i nieco go uporządkować, by wszystko działało wydajnie i bezawaryjnie. Zazwyczaj w momencie porządków dany system plików zostaje wyłączony od całości czyli odmontowany. Co w stylu polecenia od szefa : "Trzeba uporządkować system pliku na dysku /dev/hdb1 w tą środę". Zabieramy się więc do dzieła. 

Krok 1 - Odmontowanie systemu plików /dev/hdb1

# umount /dev/hdb1

Po tej czynności zobaczmy jakie narzędzia mamy dostępne i pomocne w celu przeprowadzenia konserwacji i zrobienia porządku.

  • blkid          - Wyświetla atrybuty urządzenia 
  • df               - Sprawdzenie zajętości systemu plików 
  • e2fsck        - Weryfikacja wewnętrznego systemu plików (ext)
  • e2label       - Zmiana etykiety systemu plików
  • findfs         - Pomaga w zlokalizowaniu specyficznych systemów plików
  • resize2fs    - Rozszerzenie wewnętrznego systemu plików - zmiana rozmiaru 
  • tune2fs      - Zmiana konfiguracji atrybutów systemu plików
Po pierwsze należy zlokalizować odpowiedni system plików po etykiecie jakim został opisany. Wykorzystanie etykiet przyspiesza i ułatwia zlokalizowanie właściwego systemu plików. 

Krok 2 - Jeżeli dany system plików nie posiada etykiety nadajmy mu ją 

# e2label /dev/hdb1 CData

Krok 3 - Sprawdzenie czy etykieta została nadana prawidłowo 

# e2label /dev/hdb1
CData

W tym punkcie nie mamy zbyt wielu systemów plików, tak więc znalezienie właściwego nawet bez etykiet nie stanowi problemu. Jeżeli jednak przyszło by pracować na o wiele większym środowisku z użytymi specyficznymi systemami plików do pomocy mamy narzędzie "findfs

Składnia narzędzia findfs : # findfs LABEL=<etykieta> | UUID=<uuid>

Krok 4 - Znajdźmy jakiś system plików znając jego etykietę. 

# findfs LABEL=CData
/dev/hdb1

Kiedy sprawdzimy, że dana etykieta wskazuje na dany system pików możemy dowiedzieć się o nim więcej przy użyciu polecenia "blkid". 

Składnia polecenie blkid : # blkid [opcje] 

Opcje polecenia blkid : 
  • -s       Wyświetlenie tagów 
  • dev    Określenie urządzenia do badania
Krok 5 - Działania z poleceniem "blkid" dobrze sprawdzają się w kombinacji z poleceniem "grep

# blkid | grep CData
/dev/hdb1: LABEL=”CData” UUID=”2752ffb4-2bca-41c6 a569-f3563f6e884d” TYPE=”ext4”

Krok 6 - Po zakończonej pracy konserwacyjnej można ponownie zamontować system plików opatrzony nową etykietą co robimy w następujący sposób: 

# mount LABEL=CData /opt/company_data

W środowisku REDHAT przy tym poleceniu użyliśmy przełącznika "LABEL". Jeżeli chcielibyśmy wykonać to samo działanie w środowisku UBUNTU lub DEBIAN można zastosować przełacznik "-L" dla osiągnięcia takiego samego rezultatu. 

Możemy poprawić informację w pliku /etc/fstab o dodatkowe wpisy związane z etykietami systemów plików. Nie odmontowywuj systemów plików już teraz - mamy troszkę więcej rzeczy do zrobienia. Wcześniej była mowa o tworzeniu i zarządzaniu wolumenami logicznymi (LVM) i korzyścią jaką daje możliwość rozszerzania partycji. Jeżeli istnieje w systemie jeszcze jakaś wolna przestrzeń dyskowa możemy ją wykorzystać lub jeżeli jej nie ma dodać po prostu nowy dysk o którego rozmiar powiększymy dostępne miejsce. Takich korzyści nie dostaniemy w przypadku partycji podstawowych. Aby zwiększyć rozmiar partycji podstawowej musisz zniszczyć aktualne wszystkie partycje następnie zwiększyć rozmiar i na koniec odtworzyć system plików. Ponieważ /dev/hdd jest skonfigurowany jako LVM zastosujemy go do kolejnego ćwiczenia. Zastosujemy polecenie "resize2fs" by powiększyć system plików. Przed dokonaniem rozszerzenia dobrą praktyką jest sprawdzeniem wcześniej integralności systemu plików poleceniem "e2fsck".

Składnia polecenia e2fsck : # e2fsck [opcje] urządzenie

Opcje polecenia f2fsck :
  • -p    - Automatyczna naprawa (bez pytań) 
  • -n    - Nie wprowadza żądnych zmian w systemie plików
  • -y    - Odpowiedz "tak" na wszystkie pytania
  • -f     - Wymuś sprawdzenie systemu plików 
  • -v    - Wyświetlaj informacje na temat działań
Krok 7 -  Sprawdzenie systemu plików. 

# e2fsck -f /dev/vg_group01/lvol0
e2fsck 1.41.12 (17-May-2010)
/dev/vg_group01/lvol0: clean, 11/320000 files, 55366/1280000 blocks

Składnia polecenia "resize2fs" : # resize2fs [opcje] urządzenie

Opcje polecenia resize2fs: 
  • -p     - Wyświetl procentowy przebieg wykonywanej operacji 
  • -f      - Wymuś zastosowanie polecenia 

Krok 8 -  Rozszerzamy wolumen logiczny : 

# lvextend -L 6000 /dev/vg_group01/lvol0
Extending logical volume lvol0 to 5.86 GiB
Logical volume lvol0 successfully resized

Krok 9 - Teraz powiększymy system plików

# resize2fs -p /dev/vg_group01/lvol0
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg_group01/lvol0 to 1536000 (4k)
blocks.
Begin pass 1 (max = 7)
Extending the inode table
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/vg_group01/lvol0 is now 1536000 blocks long.

Krok 10 - Teraz konserwacja jest kompletna przemontujmy ponownie system plików: 

# mount LABEL=CData /opt/company_data

Krok 11 - Poleceniem "mount" sprawdzamy czy montowanie przebiegło prawidłowo

# mount
/dev/mapper/vg_rhel01-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs
(rw,rootcontext=”system_u:object_r:tmpfs_t:s0”)
/dev/hda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/hdc1 on /opt/backup type ext3 (rw)
/dev/hdb1 on /opt/company_data type ext4 (rw)

Sprawdzenia można dokonać również poleceniem " df " z odpowiednimi przełącznikami : 

Składnia polecenia df : # df [opcje] 

Opcje polecenia df : 
  • -h     - podany wynik w bardziej ludzkich jednostkach (mb) 
  • -l      - Ze wskazaniem na lokalny system plików 
  • -T    - Wyświetlenie typu systemu plików
Krok 12 - Sprawdzenie ilości dostępnego miejsca w systemie

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_rhel01-lv_root 16G 2.3G 13G 16% /
tmpfs 1004M 0 1004M 0% /dev/shm
/dev/hda1 485M 30M 430M 7% /boot
/dev/hdc1 4.0G 137M 3.7G 4% /opt/backup
/dev/hdb1 7.9G 146M 7.4G 2% /opt/company_data

Komentarze

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)

Generowanie testowych plików o określonej wielkości