การแทนที่ดิสก์ขนาดเล็กกว่าด้วยดิสก์ขนาดใหญ่กว่าใน Linux

สวัสดีทุกคน. ก่อนเริ่มกลุ่มหลักสูตรใหม่ "ผู้ดูแลระบบลินุกซ์" เรากำลังเผยแพร่เนื้อหาที่เป็นประโยชน์ซึ่งเขียนโดยนักเรียนของเรา เช่นเดียวกับที่ปรึกษาหลักสูตร ผู้เชี่ยวชาญด้านการสนับสนุนทางเทคนิคสำหรับผลิตภัณฑ์ขององค์กร REG.RU - Roman Travin

บทความนี้จะพิจารณา 2 กรณีในการเปลี่ยนดิสก์และถ่ายโอนข้อมูลไปยังดิสก์ใหม่ที่มีความจุมากขึ้นพร้อมการขยายอาร์เรย์และระบบไฟล์เพิ่มเติม กรณีแรกจะเกี่ยวข้องกับการเปลี่ยนดิสก์ที่มีการแบ่งพาร์ติชัน MBR/MBR หรือ GPT/GPT เดียวกัน กรณีที่สองเกี่ยวข้องกับการแทนที่ดิสก์ด้วยการแบ่งพาร์ติชัน MBR ด้วยดิสก์ที่มีความจุมากกว่า 2 TB ซึ่งคุณจะต้องติดตั้ง พาร์ติชัน GPT พร้อมพาร์ติชัน biosboot ในทั้งสองกรณี ดิสก์ที่เราถ่ายโอนข้อมูลไปได้รับการติดตั้งบนเซิร์ฟเวอร์แล้ว ระบบไฟล์ที่ใช้สำหรับพาร์ติชันรูทคือ ext4

กรณีที่ 1: การเปลี่ยนดิสก์ขนาดเล็กกว่าด้วยดิสก์ขนาดใหญ่ (สูงสุด 2TB)

งาน: แทนที่ดิสก์ปัจจุบันด้วยดิสก์ขนาดใหญ่ (สูงสุด 2 TB) ด้วยการถ่ายโอนข้อมูล ในกรณีนี้ เรามีดิสก์ SSD (RAID-2) ขนาด 240 x 1 GB ที่ติดตั้งระบบไว้ และดิสก์ SATA ขนาด 2 x 1 TB ที่ต้องถ่ายโอนระบบไป

ลองดูเค้าโครงดิสก์ปัจจุบัน

[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  

ลองตรวจสอบพื้นที่ระบบไฟล์ที่ใช้ในปัจจุบัน

[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

ขนาดของระบบไฟล์ก่อนที่จะเปลี่ยนดิสก์คือ 204 GB มีการใช้อาร์เรย์ซอฟต์แวร์ 2 md126 ซึ่งติดตั้งอยู่ใน /boot и md127ซึ่งใช้เป็น ปริมาณทางกายภาพ สำหรับกลุ่มวีจี vg0.

1. การลบพาร์ติชันดิสก์ออกจากอาร์เรย์

การตรวจสอบสถานะของอาร์เรย์

[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>

ระบบใช้ 2 อาร์เรย์: md126 (จุดเมานท์ /boot) - ประกอบด้วยส่วน /dev/sda1 и /dev/sdb1, md127 (LVM สำหรับ แลกเปลี่ยน และรูทของระบบไฟล์) - ประกอบด้วย /dev/sda2 и /dev/sdb2.

เราทำเครื่องหมายพาร์ติชั่นของดิสก์แรกที่ใช้ในแต่ละอาเรย์ว่าแย่

mdadm /dev/md126 --fail /dev/sda1

mdadm /dev/md127 --fail /dev/sda2

เราลบพาร์ติชันอุปกรณ์บล็อก /dev/sda ออกจากอาร์เรย์

mdadm /dev/md126 --remove /dev/sda1

mdadm /dev/md127 --remove /dev/sda2

หลังจากที่เราลบดิสก์ออกจากอาเรย์แล้ว ข้อมูลอุปกรณ์บล็อกจะมีลักษณะเช่นนี้

[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  

สถานะของอาร์เรย์หลังจากลบดิสก์

[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. คัดลอกตารางพาร์ติชันไปยังดิสก์ใหม่

คุณสามารถตรวจสอบตารางพาร์ติชันที่ใช้บนดิสก์ด้วยคำสั่งต่อไปนี้

fdisk -l /dev/sdb | grep 'Disk label type'

ผลลัพธ์สำหรับ MBR จะเป็น:

Disk label type: dos

สำหรับ GPT:

Disk label type: gpt

การคัดลอกตารางพาร์ติชันสำหรับ MBR:

sfdisk -d /dev/sdb | sfdisk /dev/sdc

ในคำสั่งนี้ ครั้งแรก ดิสก์ถูกระบุ с ซึ่ง คัดลอกมาร์กอัปแล้ว ที่สอง - ที่ไหน สำเนา.

ATTENTION: สำหรับ GPT ครั้งแรก ดิสก์ถูกระบุ ที่ คัดลอกมาร์กอัป ที่สอง ดิสก์หมายถึงดิสก์ จากที่ คัดลอกมาร์กอัป หากคุณผสมดิสก์ พาร์ติชั่นที่ดีในตอนแรกจะถูกเขียนทับและทำลาย

การคัดลอกตารางเค้าโครงสำหรับ GPT:

sgdisk -R /dev/sdс /dev/sdb

จากนั้น กำหนด UUID แบบสุ่มให้กับดิสก์ (สำหรับ GPT)


sgdisk -G /dev/sdc

หลังจากดำเนินการคำสั่งแล้ว พาร์ติชันควรปรากฏบนดิสก์ /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  

หลังจากดำเนินการแล้ว หากพาร์ติชันในระบบบนดิสก์ /dev/sdc ไม่แน่ใจ จากนั้นเราจะดำเนินการคำสั่งเพื่ออ่านตารางพาร์ติชันอีกครั้ง

sfdisk -R /dev/sdc

หากดิสก์ปัจจุบันใช้ตาราง MBR และข้อมูลจำเป็นต้องถ่ายโอนไปยังดิสก์ที่มีขนาดใหญ่กว่า 2 TB คุณจะต้องสร้างพาร์ติชัน GPT ด้วยตนเองโดยใช้พาร์ติชัน biosboot บนดิสก์ใหม่ กรณีนี้จะกล่าวถึงในส่วนที่ 2 ของบทความนี้

3. การเพิ่มพาร์ติชั่นของดิสก์ใหม่ให้กับอาเรย์

มาเพิ่มพาร์ติชั่นดิสก์ให้กับอาร์เรย์ที่เกี่ยวข้องกัน

mdadm /dev/md126 --add /dev/sdc1

mdadm /dev/md127 --add /dev/sdc2

เราตรวจสอบว่ามีการเพิ่มส่วนต่างๆ แล้ว

[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  

หลังจากนี้ เราจะรอให้อาร์เรย์ซิงโครไนซ์

[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>

คุณสามารถตรวจสอบกระบวนการซิงโครไนซ์ได้อย่างต่อเนื่องโดยใช้ยูทิลิตี้ watch.

watch -n 2 cat /proc/mdstat

พารามิเตอร์ -n ระบุช่วงเวลาเป็นวินาทีที่ต้องดำเนินการคำสั่งเพื่อตรวจสอบความคืบหน้า

ทำซ้ำขั้นตอนที่ 1 - 3 สำหรับดิสก์ทดแทนถัดไป

เราทำเครื่องหมายพาร์ติชั่นของดิสก์ตัวที่สองที่ใช้ในแต่ละอาร์เรย์ว่าแย่

mdadm /dev/md126 --fail /dev/sdb1

mdadm /dev/md127 --fail /dev/sdb2

การถอดพาร์ติชันอุปกรณ์บล็อก /dev/sdb จากอาร์เรย์

mdadm /dev/md126 --remove /dev/sdb1

mdadm /dev/md127 --remove /dev/sdb2

หลังจากที่เราลบดิสก์ออกจากอาเรย์แล้ว ข้อมูลอุปกรณ์บล็อกจะมีลักษณะเช่นนี้

[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  

สถานะของอาร์เรย์หลังจากลบดิสก์

[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 จากดิสก์ /dev/sdс ไปยังดิสก์ /dev/sdd.

sfdisk -d /dev/sdс | sfdisk /dev/sdd

หลังจากดำเนินการคำสั่งแล้ว พาร์ติชันควรปรากฏบนดิสก์ /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  

การเพิ่มพาร์ติชั่นดิสก์ให้กับอาร์เรย์

mdadm /dev/md126 --add /dev/sdd1

mdadm /dev/md127 --add /dev/sdd2

เราตรวจสอบว่ามีการเพิ่มส่วนต่างๆ แล้ว

[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]

หลังจากนี้ เราจะรอให้อาร์เรย์ซิงโครไนซ์

[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 บนไดรฟ์ใหม่

สำหรับ CentOS:

grub2-install /dev/sdX

สำหรับ Debian/Ubuntu:

grub-install /dev/sdX

ที่ไหน X — ตัวอักษรของอุปกรณ์บล็อก ในกรณีนี้ คุณต้องติดตั้ง GRUB บน /dev/sdc и /dev/sdd.

6. นามสกุลระบบไฟล์ (ext4) ของพาร์ติชันรูท

บนดิสก์ใหม่ /dev/sdc и /dev/sdd ใช้งานได้ 931.5GB เนื่องจากตารางพาร์ติชั่นถูกคัดลอกมาจากดิสก์ที่มีขนาดเล็กกว่าพาร์ติชั่น /dev/sdc2 и /dev/sdd2 ความจุ 222.5GB

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]

มันเป็นสิ่งจำเป็น:

  1. ขยายพาร์ติชัน 2 ในแต่ละดิสก์
  2. ขยายอาร์เรย์ md127
  3. ขยาย PV (ปริมาตรจริง)
  4. ขยาย LV (โลจิคัลวอลุ่ม) vg0-root
  5. ขยายระบบไฟล์

การใช้ยูทิลิตี้ แยก มาขยายส่วนกัน /dev/sdc2 ให้เป็นค่าสูงสุด ดำเนินการคำสั่ง parted /dev/sdc (1) และดูตารางพาร์ติชันปัจจุบันด้วยคำสั่ง p (2)

การแทนที่ดิสก์ขนาดเล็กกว่าด้วยดิสก์ขนาดใหญ่กว่าใน Linux

อย่างที่คุณเห็นจุดสิ้นสุดของพาร์ติชัน 2 สิ้นสุดที่ 240 GB มาขยายพาร์ติชั่นด้วยคำสั่ง resizepart 2โดยที่ 2 คือจำนวนส่วน (3) เราระบุค่าในรูปแบบดิจิทัล เช่น 1000 GB หรือใช้การระบุส่วนแบ่งดิสก์ - 100% เราตรวจสอบอีกครั้งว่าพาร์ติชันมีขนาดใหม่ (4)

ทำซ้ำขั้นตอนข้างต้นสำหรับดิสก์ /dev/sdd. หลังจากขยายพาร์ติชั่นแล้ว /dev/sdc2 и /dev/sdd2 เท่ากับ 930.5 GB

[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]

หลังจากนั้นเราจะขยายอาร์เรย์ md127 สูงสุด

mdadm --grow /dev/md127 --size=max

เราตรวจสอบว่าอาร์เรย์ได้ขยายแล้ว ตอนนี้ขนาดของมันกลายเป็น 930.4 GB

[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]

การขยายส่วนขยาย ปริมาณทางกายภาพ. ก่อนที่จะขยายเรามาดูสถานะปัจจุบันของ PV กันก่อน

[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   ]

อย่างที่เห็น PV /dev/md127 ใช้พื้นที่ 222.4 GB

เราขยาย PV ด้วยคำสั่งต่อไปนี้

pvresize /dev/md127

ตรวจสอบผลการขยาย PV

[

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   ]

กำลังขยายตัว วอลุ่มลอจิคัล. ก่อนที่จะขยาย เรามาตรวจสอบสถานะปัจจุบันของ LV (1) กันก่อน

[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

เราขยาย LV ด้วยคำสั่งต่อไปนี้ (2)

lvextend -l +100%FREE /dev/mapper/vg0-root

เราตรวจสอบการกระทำที่เสร็จสมบูรณ์ (3)

[root@localhost ~]# lvscan 
  ACTIVE            '/dev/vg0/swap' [<16,00 GiB] inherit
  ACTIVE            '/dev/vg0/root' [<914,39 GiB] inherit

อย่างที่คุณเห็นหลังจากขยาย LV จำนวนพื้นที่ดิสก์ที่ถูกครอบครองกลายเป็น 914.39 GB

การแทนที่ดิสก์ขนาดเล็กกว่าด้วยดิสก์ขนาดใหญ่กว่าใน Linux

ระดับเสียง LV เพิ่มขึ้น (4) แต่ระบบไฟล์ยังคงใช้พื้นที่ 204 GB (5)

1. มาขยายระบบไฟล์กันดีกว่า

resize2fs /dev/mapper/vg0-root

หลังจากดำเนินการคำสั่งแล้ว เราจะตรวจสอบขนาดของระบบไฟล์

[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

ขนาดของระบบไฟล์รูทจะเพิ่มขึ้นเป็น 900 GB หลังจากทำตามขั้นตอนต่างๆ เรียบร้อยแล้ว คุณสามารถนำดิสก์เก่าออกได้

กรณีที่ 2: การเปลี่ยนดิสก์ขนาดเล็กกว่าด้วยดิสก์ขนาดใหญ่ (มากกว่า 2TB)

การตั้งค่า: แทนที่ดิสก์ปัจจุบันด้วยดิสก์ขนาดใหญ่กว่า (2 x 3TB) ในขณะที่ยังคงรักษาข้อมูลไว้ ในกรณีนี้ เรามีดิสก์ SSD (RAID-2) ขนาด 240 x 1 GB ที่ติดตั้งระบบไว้ และดิสก์ SATA ขนาด 2 x 3 TB ที่ต้องถ่ายโอนระบบไป ดิสก์ปัจจุบันใช้ตารางพาร์ติชัน MBR เนื่องจากดิสก์ใหม่มีความจุมากกว่า 2 TB จึงจำเป็นต้องใช้ตาราง GPT เนื่องจาก MBR ไม่สามารถทำงานกับดิสก์ที่มีขนาดใหญ่กว่า 2 TB ได้

ลองดูเค้าโครงดิสก์ปัจจุบัน

[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  

ลองตรวจสอบตารางพาร์ติชันที่ใช้บนดิสก์ /dev/sda.

[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos

บนดิสก์ /dev/sdb ใช้ตารางพาร์ติชันที่คล้ายกัน ลองตรวจสอบพื้นที่ดิสก์ที่ใช้บนระบบ

[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

อย่างที่คุณเห็นรูทของระบบไฟล์ใช้พื้นที่ถึง 204 GB มาตรวจสอบสถานะปัจจุบันของซอฟต์แวร์อาร์เรย์ RAID กัน

1. การติดตั้งตารางพาร์ติชัน GPT และการแบ่งพาร์ติชันดิสก์

ตรวจสอบเค้าโครงดิสก์ตามเซกเตอร์

[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

บนดิสก์ 3TB ใหม่ เราจะต้องสร้าง 3 พาร์ติชัน:

  1. ส่วน bios_grub ขนาด 2MiB สำหรับความเข้ากันได้ของ GPT BIOS
  2. พาร์ติชันสำหรับอาร์เรย์ RAID ที่จะติดตั้ง /boot.
  3. พาร์ติชันสำหรับอาร์เรย์ RAID ที่จะมี เลเวลรูท и แลก LV.

การติดตั้งยูทิลิตี้ แยก ทีม yum install -y parted (สำหรับ CentOS) apt install -y parted (สำหรับเดเบียน/อูบุนตู)

การใช้ แยก มารันคำสั่งต่อไปนี้เพื่อแบ่งพาร์ติชันดิสก์

ดำเนินการคำสั่ง parted /dev/sdc และไปที่โหมดแก้ไขเค้าโครงดิสก์

สร้างตารางพาร์ติชัน GPT

(parted) mktable gpt

สร้าง 1 ส่วน bios_grub และตั้งธงไว้

(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on  

สร้างพาร์ติชัน 2 และตั้งค่าสถานะสำหรับพาร์ติชันนั้น พาร์ติชันจะถูกใช้เป็นบล็อกสำหรับอาร์เรย์ RAID และติดตั้งใน /boot.

(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on

เราสร้างส่วนที่ 3 ซึ่งจะใช้เป็นบล็อกอาร์เรย์ซึ่ง LVM จะอยู่ด้วย

(parted) mkpart primary 1028MiB 100% 

ในกรณีนี้ไม่จำเป็นต้องตั้งค่าแฟล็ก แต่หากจำเป็นก็สามารถตั้งค่าได้ด้วยคำสั่งต่อไปนี้

(parted) set 3 raid on

เราตรวจสอบตารางที่สร้างขึ้น

(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

เรากำหนด GUID แบบสุ่มใหม่ให้กับดิสก์

sgdisk -G /dev/sdd

2. การลบพาร์ติชันของดิสก์แผ่นแรกออกจากอาร์เรย์

การตรวจสอบสถานะของอาร์เรย์

[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>

ระบบใช้ 2 อาร์เรย์: md126 (จุดเมานท์ /บูต) - ประกอบด้วย /dev/sda1 и /dev/sdb1, md127 (LVM สำหรับ swap และรูทของระบบไฟล์) - ประกอบด้วย /dev/sda2 и /dev/sdb2.

เราทำเครื่องหมายพาร์ติชั่นของดิสก์แรกที่ใช้ในแต่ละอาเรย์ว่าแย่

mdadm /dev/md126 --fail /dev/sda1

mdadm /dev/md127 --fail /dev/sda2

การถอดพาร์ติชันอุปกรณ์บล็อก /dev/sda จากอาร์เรย์

mdadm /dev/md126 --remove /dev/sda1

mdadm /dev/md127 --remove /dev/sda2

ตรวจสอบสถานะของอาเรย์หลังจากถอดดิสก์ออก

[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. การเพิ่มพาร์ติชั่นของดิสก์ใหม่ให้กับอาเรย์

ขั้นตอนต่อไปคือการเพิ่มพาร์ติชันของดิสก์ใหม่ลงในอาร์เรย์สำหรับการซิงโครไนซ์ มาดูสถานะปัจจุบันของโครงร่างดิสก์

[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  

ส่วน /dev/sdc1 เป็น bios_grub และไม่เกี่ยวข้องกับการสร้างอาร์เรย์ อาร์เรย์จะใช้เท่านั้น /dev/sdc2 и /dev/sdc3. เราเพิ่มส่วนเหล่านี้ลงในอาร์เรย์ที่เกี่ยวข้อง

mdadm /dev/md126 --add /dev/sdc2

mdadm /dev/md127 --add /dev/sdc3

จากนั้นเรารอให้อาร์เรย์ซิงโครไนซ์

[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>

การแบ่งพาร์ติชันดิสก์หลังจากเพิ่มพาร์ติชันลงในอาร์เรย์

[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. การลบพาร์ติชันของดิสก์ตัวที่สองออกจากอาร์เรย์

เราทำเครื่องหมายพาร์ติชั่นของดิสก์ตัวที่สองที่ใช้ในแต่ละอาร์เรย์ว่าแย่

mdadm /dev/md126 --fail /dev/sdb1

mdadm /dev/md127 --fail /dev/sdb2

การถอดพาร์ติชันอุปกรณ์บล็อก /dev/sda จากอาร์เรย์

mdadm /dev/md126 --remove /dev/sdb1

mdadm /dev/md127 --remove /dev/sdb2

5. คัดลอกตารางเค้าโครง GPT และซิงโครไนซ์อาร์เรย์

หากต้องการคัดลอกตารางมาร์กอัป GPT เราจะใช้ยูทิลิตีนี้ sgdiskซึ่งรวมอยู่ในแพ็คเกจสำหรับการทำงานกับพาร์ติชันดิสก์และตาราง GPT - gdisk.

การติดตั้ง gdisk สำหรับ CentOS:

yum install -y gdisk

การติดตั้ง gdisk สำหรับเดเบียน/อูบุนตู:

apt install -y gdisk

ATTENTION: สำหรับ GPT ครั้งแรก ดิสก์ถูกระบุ ที่ คัดลอกมาร์กอัป ที่สอง ดิสก์หมายถึงดิสก์ จากที่ คัดลอกมาร์กอัป หากคุณผสมดิสก์ พาร์ติชั่นที่ดีในตอนแรกจะถูกเขียนทับและทำลาย

คัดลอกตารางมาร์กอัป GPT

sgdisk -R /dev/sdd /dev/sdc

การแบ่งพาร์ติชันดิสก์หลังจากถ่ายโอนตารางไปยังดิสก์ /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  

ต่อไป เราจะเพิ่มแต่ละพาร์ติชันที่มีส่วนร่วมในอาร์เรย์ RAID ของซอฟต์แวร์

mdadm /dev/md126 --add /dev/sdd2

mdadm /dev/md127 --add /dev/sdd3

เรากำลังรอให้อาร์เรย์ซิงโครไนซ์

[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 ไปยังดิสก์ใหม่ตัวที่สอง พาร์ติชันจะมีลักษณะดังนี้

[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]

จากนั้นติดตั้ง GRUB บนดิสก์ใหม่

การติดตั้งสำหรับ CentOS:

grub2-install /dev/sdX

การติดตั้งสำหรับ Debian/Ubuntu:

grub-install /dev/sdX

ที่ไหน X — อักษรระบุไดรฟ์ในกรณีของเราคือไดรฟ์ /dev/sdc и /dev/sdd.

เราอัปเดตข้อมูลเกี่ยวกับอาร์เรย์

สำหรับ CentOS:

mdadm --detail --scan --verbose > /etc/mdadm.conf

สำหรับ Debian/Ubuntu:

echo "DEVICE partitions" > /etc/mdadm/mdadm.conf

mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

กำลังอัปเดตรูปภาพ initrd:
สำหรับ CentOS:

dracut -f -v --regenerate-all

สำหรับ Debian/Ubuntu:

update-initramfs -u -k all

เราอัปเดตการกำหนดค่า GRUB

สำหรับ CentOS:

grub2-mkconfig -o /boot/grub2/grub.cfg

สำหรับ Debian/Ubuntu:

update-grub

หลังจากทำตามขั้นตอนต่างๆ เรียบร้อยแล้ว คุณสามารถนำดิสก์เก่าออกได้

6. นามสกุลระบบไฟล์ (ext4) ของพาร์ติชันรูท

การแบ่งพาร์ติชันดิสก์ก่อนการขยายระบบไฟล์หลังจากย้ายระบบไปยังดิสก์ขนาด 2 x 3TB (RAID-1)

[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]

ตอนนี้ส่วนต่างๆ /dev/sdc3 и /dev/sdd3 ครอบครองพื้นที่ 2.7 TB เนื่องจากเราสร้างเค้าโครงดิสก์ใหม่ด้วยตาราง GPT ขนาดของพาร์ติชัน 3 จึงถูกตั้งค่าเป็นพื้นที่ดิสก์สูงสุดที่เป็นไปได้ทันที ในกรณีนี้ ไม่จำเป็นต้องขยายพาร์ติชัน

มันเป็นสิ่งจำเป็น:

  1. ขยายอาร์เรย์ md126
  2. ขยาย PV (ปริมาตรจริง)
  3. ขยาย LV (โลจิคัลวอลุ่ม) vg0-root
  4. ขยายระบบไฟล์

1. ขยายอาร์เรย์ md126 สูงสุด

mdadm --grow /dev/md126 --size=max

หลังจากการขยายอาเรย์ md126 ขนาดของพื้นที่ว่างเพิ่มขึ้นเป็น 2.7 TB

[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]

กำลังขยายตัว ปริมาณทางกายภาพ.

ก่อนขยายให้ตรวจสอบค่าปัจจุบันของพื้นที่ครอบครอง PV /dev/md126.

[root@localhost ~]# pvs
  PV         VG  Fmt  Attr PSize   PFree
  /dev/md126 vg0 lvm2 a--  222,40g    0 

เราขยาย PV ด้วยคำสั่งต่อไปนี้

pvresize /dev/md126

เราตรวจสอบการดำเนินการที่เสร็จสมบูรณ์

[root@localhost ~]# pvs
  PV         VG  Fmt  Attr PSize  PFree
  /dev/md126 vg0 lvm2 a--  <2,73t 2,51t

กำลังขยายตัว โลจิคัลวอลุ่ม vg0-root.

หลังจากขยาย PV มาตรวจสอบพื้นที่ว่าง VG กันดีกว่า

[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vg0   1   2   0 wz--n- <2,73t 2,51t

ลองตรวจสอบพื้นที่ที่ LV ครอบครอง

[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 ครอบครอง 206.41 GB

เราขยาย LV ให้เป็นพื้นที่ดิสก์สูงสุด

lvextend -l +100%FREE /dev/mapper/vg0-root 

ตรวจสอบพื้นที่ LV หลังจากการขยาย

[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

การขยายระบบไฟล์ (ext4)

เรามาตรวจสอบขนาดปัจจุบันของระบบไฟล์กัน

[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 ครอบครอง 204 GB หลังจากการขยาย LV

การขยายระบบไฟล์

resize2fs /dev/mapper/vg0-root 

การตรวจสอบขนาดของระบบไฟล์หลังจากขยาย

[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

ขนาดระบบไฟล์เพิ่มขึ้นเพื่อให้ครอบคลุมโวลุ่มทั้งหมด

ที่มา: will.com

เพิ่มความคิดเห็น