Herkese selam. Yeni bir kurs grubunun başlamasının arifesinde
Bu makalede, dizi ve dosya sisteminin daha da genişletilmesiyle disklerin değiştirilmesi ve bilgilerin daha büyük kapasiteli yeni disklere aktarılmasıyla ilgili 2 durum ele alınacaktır. İlk durum, aynı MBR/MBR veya GPT/GPT bölümlemeli disklerin değiştirilmesiyle ilgili olacaktır; ikinci durum, MBR bölümlemeli disklerin üzerine kurulum yapmanız gereken 2 TB'tan fazla kapasiteye sahip disklerle değiştirilmesiyle ilgilidir. biosboot bölümü olan bir GPT bölümü. Her iki durumda da verileri aktardığımız diskler sunucuda zaten kuruludur. Kök bölüm için kullanılan dosya sistemi ext4'tür.
Durum 1: Daha küçük diskleri daha büyük disklerle değiştirme (2 TB'a kadar)
Sorun: Mevcut diskleri bilgi aktarımıyla daha büyük disklerle (2 TB'ye kadar) değiştirin. Bu durumda elimizde sistemin kurulu olduğu 2 adet 240 GB SSD (RAID-1) disk ve sistemin aktarılması gereken 2 adet 1 TB SATA disk bulunmaktadır.
Mevcut disk düzenine bakalım.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sda2 8:2 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
sdd 8:48 0 931,5G 0 disk
Şu anda kullanılan dosya sistemi alanını kontrol edelim.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,6M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0
Diskleri değiştirmeden önce dosya sisteminin boyutu 204 GB olup, içine monte edilen 2 adet md126 yazılım dizisi kullanılmaktadır. /boot
и md127
olarak kullanılan fiziksel hacim VG grubu için vg0.
1. Disk bölümlerini dizilerden kaldırma
Dizinin durumunu kontrol etme
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sda2[0] sdb2[1]
233206784 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
Sistem 2 dizi kullanır: md126
(bağlama noktası /boot
) - bir bölümden oluşur /dev/sda1
и /dev/sdb1
, md127
(LVM için takas ve dosya sisteminin kökü) - şunlardan oluşur: /dev/sda2
и /dev/sdb2
.
Her dizide kullanılan ilk diskin bölümlerini hatalı olarak işaretliyoruz.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Dizilerden /dev/sda blok aygıt bölümlerini kaldırıyoruz.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Diski diziden çıkardıktan sonra blok cihaz bilgileri bu şekilde görünecektir.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
sdd 8:48 0 931,5G 0 disk
Diskleri çıkardıktan sonra dizilerin durumu.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1]
1047552 blocks super 1.2 [2/1] [_U]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
bitmap: 1/2 pages [4KB], 65536KB chunk
unused devices: <none>
2. Bölüm tablosunu yeni bir diske kopyalayın
Disk üzerinde kullanılan bölüm tablosunu aşağıdaki komutla kontrol edebilirsiniz.
fdisk -l /dev/sdb | grep 'Disk label type'
MBR çıktısı şöyle olacaktır:
Disk label type: dos
GPT için:
Disk label type: gpt
MBR için bölüm tablosunu kopyalama:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
Bu takımda ilk disk belirtildi с kime işaretleme kopyalanır, ikinci - nerede kopyala.
DİKKAT: GPT için ilk disk belirtildi hangisinde işaretlemeyi kopyala, ikinci disk diski gösterir olan işaretlemeyi kopyala. Diskleri karıştırırsanız, başlangıçta iyi olan bölümün üzerine yazılacak ve yok edilecektir.
GPT için düzen tablosunu kopyalama:
sgdisk -R /dev/sdс /dev/sdb
Daha sonra diske rastgele bir UUID atayın (GPT için).
sgdisk -G /dev/sdc
Komut yürütüldükten sonra bölümler diskte görünmelidir /dev/sdc
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
└─sdc2 8:34 0 222,5G 0 part
sdd 8:48 0 931,5G 0 disk
Eylem gerçekleştirildikten sonra sistemdeki diskteki bölümler /dev/sdc
kararsızsak, bölüm tablosunu yeniden okumak için komutu çalıştırırız.
sfdisk -R /dev/sdc
Mevcut diskler MBR tablosunu kullanıyorsa ve bilgilerin 2 TB'tan büyük disklere aktarılması gerekiyorsa, yeni disklerde biosboot bölümünü kullanarak manuel olarak bir GPT bölümü oluşturmanız gerekecektir. Bu durum bu makalenin 2. Bölümünde ele alınacaktır.
3. Yeni diskin bölümlerini diziye ekleme
İlgili dizilere disk bölümlerini ekleyelim.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Bölümlerin eklendiğini kontrol ediyoruz.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
Bundan sonra dizilerin senkronize olmasını bekliyoruz.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2] sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
[==>..................] recovery = 10.6% (24859136/233206784) finish=29.3min speed=118119K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
Yardımcı programı kullanarak senkronizasyon sürecini sürekli olarak izleyebilirsiniz. watch
.
watch -n 2 cat /proc/mdstat
Parametre -n
İlerlemeyi kontrol etmek için komutun saniye cinsinden hangi aralıklarla yürütülmesi gerektiğini belirtir.
Bir sonraki yedek disk için 1 - 3 arasındaki adımları tekrarlayın.
İkinci diskin her dizide kullanılan bölümlerini hatalı olarak işaretliyoruz.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Blok cihaz bölümlerini kaldırma /dev/sdb
dizilerden.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
Diski diziden çıkardıktan sonra blok cihaz bilgileri bu şekilde görünecektir.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
Diskleri çıkardıktan sonra dizilerin durumu.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2]
1047552 blocks super 1.2 [2/1] [U_]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
bitmap: 1/2 pages [4KB], 65536KB chunk
unused devices: <none>
MBR bölüm tablosunu diskten kopyalama /dev/sdс
diske /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
Komut yürütüldükten sonra bölümler diskte görünmelidir /dev/sdd
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
└─sdd2 8:50 0 222,5G 0 part
Dizilere disk bölümleri ekleme.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Bölümlerin eklendiğini kontrol ediyoruz.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Bundan sonra dizilerin senkronize olmasını bekliyoruz.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdd1[3] sdc1[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdd2[3] sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.5% (1200000/233206784) finish=35.4min speed=109090K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
5. GRUB'un yeni sürücülere kurulması
CentOS için:
grub2-install /dev/sdX
Debian/Ubuntu'da:
grub-install /dev/sdX
nerede X
— blok cihazının harfi. Bu durumda GRUB'u kurmanız gerekiyor. /dev/sdc
и /dev/sdd
.
6. Kök bölümün dosya sistemi uzantısı (ext4)
Yeni disklerde /dev/sdc
и /dev/sdd
931.5 GB kullanılabilir. Bölüm tablosunun daha küçük disklerden kopyalanmış olması nedeniyle bölümler /dev/sdc2
и /dev/sdd2
222.5 GB kullanılabilir.
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Bu gereklidir:
- Disklerin her birinde bölüm 2'yi genişletin,
- Dizi md127'yi genişletin,
- PV'yi (fiziksel hacim) genişletin,
- LV (mantıksal hacim) vg0-root'u genişletin,
- Dosya sistemini genişletin.
Yardımcı programı kullanma aralandı bölümü genişletelim /dev/sdc2
maksimum değere. Komutu yürüt parted /dev/sdc
(1) ve geçerli bölüm tablosunu komutla görüntüleyin p
(2).
Gördüğünüz gibi 2. bölümün sonu 240 GB ile bitiyor. komutuyla bölümü genişletelim. resizepart
2
2, bölüm (3)'ün numarasıdır. Değeri dijital formatta, örneğin 1000 GB olarak belirtiyoruz veya disk paylaşımının göstergesini kullanıyoruz - %100. Bölümün yeni boyuta (4) sahip olup olmadığını tekrar kontrol ediyoruz.
Disk için yukarıdaki adımları tekrarlayın /dev/sdd
. Bölümleri genişlettikten sonra /dev/sdc2
и /dev/sdd2
930.5 GB'a eşit oldu.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 930,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 930,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Bundan sonra diziyi genişletiyoruz md127 maksimuma.
mdadm --grow /dev/md127 --size=max
Dizinin genişlediğini kontrol ediyoruz. Artık boyutu 930.4 GB oldu.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 930,5G 0 part
└─md127 9:127 0 930,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 930,5G 0 part
└─md127 9:127 0 930,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Uzantıyı genişletme fiziksel hacim. Genişletmeden önce PV'nin mevcut durumunu kontrol edelim.
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [222,40 GiB / 0 free]
Total: 1 [222,40 GiB] / in use: 1 [222,40 GiB] / in no VG: 0 [0 ]
Görüldüğü gibi PV /dev/md127
222.4 GB alan kullanır.
PV'yi aşağıdaki komutla genişletiyoruz.
pvresize /dev/md127
PV genişlemesinin sonucu kontrol ediliyor.
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [930,38 GiB / 707,98 GiB free]
Total: 1 [930,38 GiB] / in use: 1 [930,38 GiB] / in no VG: 0 [0 ]
Genişleyen mantıksal hacim. Genişletmeden önce LV'nin (1) mevcut durumunu kontrol edelim.
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
206.41 GB kullanır.
LV'yi aşağıdaki komutla genişletiyoruz (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Tamamlanan eylemi kontrol ediyoruz (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Gördüğünüz gibi LV genişletildikten sonra kaplanan disk alanı miktarı 914.39 GB oldu.
LV hacmi arttı (4), ancak dosya sistemi hala 204 GB (5) kaplıyor.
1. Dosya sistemini genişletelim.
resize2fs /dev/mapper/vg0-root
Komut yürütüldükten sonra dosya sisteminin boyutunu kontrol ediyoruz.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,5M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 900G 1,3G 860G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0
Kök dosya sisteminin boyutu 900 GB'a çıkacak. Adımları tamamladıktan sonra eski diskleri kaldırabilirsiniz.
Durum 2: Daha küçük diskleri daha büyük disklerle değiştirme (2 TB'tan fazla)
Ayar: Bilgileri korurken mevcut diskleri daha büyük disklerle (2 x 3TB) değiştirin. Bu durumda elimizde sistemin kurulu olduğu 2 adet 240 GB SSD (RAID-1) disk ve sistemin aktarılması gereken 2 adet 3 TB SATA disk bulunmaktadır. Mevcut diskler MBR bölüm tablosunu kullanır. Yeni disklerin kapasitesi 2 TB'tan büyük olduğundan, MBR 2 TB'tan büyük disklerle çalışamayacağından GPT tablosu kullanmaları gerekecektir.
Mevcut disk düzenine bakalım.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sda2 8:2 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
sdd 8:48 0 2,7T 0 disk
Diskte kullanılan bölüm tablosunu kontrol edelim /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Diskte /dev/sdb
benzer bir bölümleme tablosu kullanılır. Sistemde kullanılan disk alanını kontrol edelim.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
Gördüğünüz gibi dosya sisteminin kökü 204 GB yer kaplıyor. Yazılım RAID dizisinin mevcut durumunu kontrol edelim.
1. GPT bölümleme tablosu ve disk bölümleme kurulumu
Disk düzenini sektöre göre kontrol edelim.
[root@localhost ~]# parted /dev/sda print
Модель: ATA KINGSTON SVP200S (scsi)
Диск /dev/sda: 240GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Disk Flags:
Номер Начало Конец Размер Тип Файловая система Флаги
1 1049kB 1076MB 1075MB primary загрузочный, raid
2 1076MB 240GB 239GB primary raid
Yeni 3TB diskte 3 bölüm oluşturmamız gerekecek:
- Bölüm
bios_grub
GPT BIOS uyumluluğu için 2MiB boyutu, - Kurulacak RAID dizisinin bölümü
/boot
. - RAID dizisinin bulunacağı bölüm LV kökü и AG değişimi.
Yardımcı programın yüklenmesi aralandı takım yum install -y parted
(CentOS için), apt install -y parted
(Debian/Ubuntu için).
Kullanma aralandı Diski bölümlemek için aşağıdaki komutları çalıştıralım.
Komutu yürüt parted /dev/sdc
ve disk düzeni düzenleme moduna gidin.
Bir GPT bölümleme tablosu oluşturun.
(parted) mktable gpt
1 bölüm oluştur bios_grub
bölümüne gidin ve bunun için bir bayrak ayarlayın.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Bölüm 2'yi oluşturun ve bunun için bir bayrak ayarlayın. Bölüm, bir RAID dizisi için blok olarak kullanılacak ve /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
LVM'nin yer alacağı dizi bloğu olarak da kullanılacak 3. bölümü oluşturuyoruz.
(parted) mkpart primary 1028MiB 100%
Bu durumda bayrağı ayarlamanıza gerek yoktur ancak gerekirse aşağıdaki komutla ayarlanabilir.
(parted) set 3 raid on
Oluşturulan tabloyu kontrol ediyoruz.
(parted) p
Модель: ATA TOSHIBA DT01ACA3 (scsi)
Диск /dev/sdc: 3001GB
Размер сектора (логич./физич.): 512B/4096B
Таблица разделов: gpt
Disk Flags:
Номер Начало Конец Размер Файловая система Имя Флаги
1 1049kB 3146kB 2097kB primary bios_grub
2 3146kB 1077MB 1074MB primary загрузочный
3 1077MB 3001GB 3000GB primary
Diske yeni bir rastgele GUID atıyoruz.
sgdisk -G /dev/sdd
2. İlk diskin bölümlerini dizilerden kaldırma
Dizinin durumunu kontrol etme
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sda2[0] sdb2[1]
233206784 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
Sistem 2 dizi kullanır: md126 (bağlama noktası/önyükleme) - şunlardan oluşur: /dev/sda1
и /dev/sdb1
, md127
(LVM için swap
ve dosya sisteminin kökü) - şunlardan oluşur: /dev/sda2
и /dev/sdb2
.
Her dizide kullanılan ilk diskin bölümlerini hatalı olarak işaretliyoruz.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Blok cihaz bölümlerini kaldırma /dev/sda
dizilerden.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Diski çıkardıktan sonra dizinin durumu kontrol ediliyor.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1]
1047552 blocks super 1.2 [2/1] [_U]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
3. Yeni diskin bölümlerini diziye ekleme
Bir sonraki adım, yeni diskin bölümlerini senkronizasyon için dizilere eklemektir. Disk düzeninin mevcut durumuna bakalım.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
└─sdc3 8:35 0 2,7T 0 part
sdd 8:48 0 2,7T 0 disk
Bölüm /dev/sdc1
olduğunu bios_grub
bölümdür ve dizilerin oluşturulmasında yer almaz. Diziler yalnızca /dev/sdc2
и /dev/sdc3
. Bu bölümleri ilgili dizilere ekliyoruz.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Daha sonra dizinin senkronize olmasını bekleriz.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc2[2] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc3[2] sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
[>....................] recovery = 0.2% (619904/233206784) finish=31.2min speed=123980K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
Diziye bölümler eklendikten sonra disk bölümleme.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
4. İkinci diskin bölümlerini dizilerden kaldırma
İkinci diskin her dizide kullanılan bölümlerini hatalı olarak işaretliyoruz.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Blok cihaz bölümlerini kaldırma /dev/sda
dizilerden.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. GPT düzen tablosunu kopyalayın ve diziyi senkronize edin
GPT işaretleme tablosunu kopyalamak için yardımcı programı kullanacağız sgdisk
Disk bölümleri ve GPT tablosuyla çalışmak için pakete dahil olan - gdisk
.
Montaj gdisk
CentOS için:
yum install -y gdisk
Montaj gdisk
Debian/Ubuntu için:
apt install -y gdisk
DİKKAT: GPT için ilk disk belirtildi hangisinde işaretlemeyi kopyala, ikinci disk diski gösterir olan işaretlemeyi kopyalayın. Diskleri karıştırırsanız, başlangıçta iyi olan bölümün üzerine yazılacak ve yok edilecektir.
GPT işaretleme tablosunu kopyalayın.
sgdisk -R /dev/sdd /dev/sdc
Bir tabloyu diske aktardıktan sonra disk bölümleme /dev/sdd
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
└─sdd3 8:51 0 2,7T 0 part
Daha sonra, yazılım RAID dizilerine katılan bölümlerin her birini ekliyoruz.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Dizinin senkronize edilmesini bekliyoruz.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdd2[3] sdc2[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 1/1 pages [4KB], 65536KB chunk
md127 : active raid1 sdd3[3] sdc3[2]
233206784 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.0% (148224/233206784) finish=26.2min speed=148224K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
GPT bölümünü ikinci yeni diske kopyaladıktan sonra bölüm şu şekilde görünecektir.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Daha sonra GRUB'u yeni disklere yükleyin.
CentOS için kurulum:
grub2-install /dev/sdX
Debian/Ubuntu Kurulumu:
grub-install /dev/sdX
nerede X
— sürücü harfi, bizim durumumuzda sürücüler /dev/sdc
и /dev/sdd
.
Dizi hakkındaki bilgileri güncelliyoruz.
CentOS için:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Debian/Ubuntu'da:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Resmi güncelleme initrd
:
CentOS için:
dracut -f -v --regenerate-all
Debian/Ubuntu'da:
update-initramfs -u -k all
GRUB yapılandırmasını güncelliyoruz.
CentOS için:
grub2-mkconfig -o /boot/grub2/grub.cfg
Debian/Ubuntu'da:
update-grub
Adımları tamamladıktan sonra eski diskler çıkarılabilir.
6. Kök bölümün dosya sistemi uzantısı (ext4)
Sistemi 2 x 3TB disklere (RAID-1) taşıdıktan sonra dosya sistemi genişletmesinden önce disk bölümleme.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md126 9:126 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md126 9:126 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Şimdi bölümler /dev/sdc3
и /dev/sdd3
2.7 TB yer kaplar. GPT tablosuyla yeni bir disk düzeni oluşturduğumuz için bölüm 3'ün boyutu hemen mümkün olan maksimum disk alanına ayarlandı; bu durumda bölümü genişletmeye gerek yok.
Bu gereklidir:
- Dizi md126'yi genişletin,
- PV'yi (fiziksel hacim) genişletin,
- LV (mantıksal hacim) vg0-root'u genişletin,
- Dosya sistemini genişletin.
1. Diziyi genişletin md126
maksimuma.
mdadm --grow /dev/md126 --size=max
Dizi genişletmesinden sonra md126
işgal edilen alanın boyutu 2.7 TB'a yükseldi.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md126 9:126 0 2,7T 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md126 9:126 0 2,7T 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Genişleyen fiziksel hacim.
Genişletmeden önce işgal edilen alanın mevcut değerini kontrol edin PV /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
PV'yi aşağıdaki komutla genişletiyoruz.
pvresize /dev/md126
Tamamlanan eylemi kontrol ediyoruz.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Genişleyen mantıksal birim vg0-root.
PV'yi genişlettikten sonra işgal edilen VG alanını kontrol edelim.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
LV'nin kapladığı alanı kontrol edelim.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- <206,41g
swap vg0 -wi-ao---- <16,00g
vg0-root birimi 206.41 GB yer kaplar.
LV'yi maksimum disk alanına genişletiyoruz.
lvextend -l +100%FREE /dev/mapper/vg0-root
Genişletme sonrasında LV alanının kontrol edilmesi.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- 2,71t
swap vg0 -wi-ao---- <16,00g
Dosya sistemini genişletme (ext4).
Dosya sisteminin mevcut boyutunu kontrol edelim.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,4G 192G 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
/dev/mapper/vg0-root birimi, LV genişletmesinden sonra 204 GB kaplar.
Dosya sistemini genişletme.
resize2fs /dev/mapper/vg0-root
Dosya sistemini genişlettikten sonra boyutunun kontrol edilmesi.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 2,7T 1,4G 2,6T 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
Dosya sistemi boyutu, birimin tamamını kapsayacak şekilde artırıldı.
Kaynak: habr.com