Thay đổi kích thước phân vùng ổ cứng trên HĐH Centos

Khi cài đặt hệ điều hành Windows hay Linux chúng ta sẽ trải qua bước phân chia phân vùng cho hệ thống. Nếu bạn để mặc định hoặc muốn thay đổi kích thước phân vùng trên hệ điều hành Centos thì hãy tham khảo bài viết này nhé.

Mặc định Centos sẽ tự động chia phân vùng tương tự như sau:

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0           2:0    1    4K  0 disk
sda           8:0    0  120G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0  119G  0 part
  ├─cl-root 253:0    0   50G  0 lvm  /
  ├─cl-swap 253:1    0  3.9G  0 lvm  [SWAP]
  └─cl-home 253:2    0 65.1G  0 lvm  /home
sr0          11:0    1 1024M  0 rom

Sử dụng lệnh lsblk như trên để kiểm tra kích thước các phân vùng, chúng ta thấy phân vùng root có kích thước 50GB và phân vùng home là 65 GB. Bây giờ mình sẽ xóa phân vùng home và thêm dung lượng trống đó vào phân vùng root bằng các bước sau:

Đầu tiên mình sẽ tiến hành sao lưu dữ liệu ở thư mục /home để tránh mất mát dữ liệu.

Tiếp theo đến bước unmount phân vùng /home/ bằng lệnh sau:

# umount /home/

Xem thêm: Hướng dẫn mount/unmount phân vùng trên Linux

Tiếp theo mình sẽ dùng lệnh lvdisplay để hiển thị chi tiết thông tin các logical volumes.

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/cl/swap
  LV Name                swap
  VG Name                cl
  LV UUID                lRUHAd-YCrg-FO0V-7TyN-oz4y-zhaU-N9LyKK
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-04-02 11:15:14 +0900
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/cl/home
  LV Name                home
  VG Name                cl
  LV UUID                g46XmZ-8Er7-Zoec-KxK6-0aeo-fxqX-HpaIq8
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-04-02 11:15:15 +0900
  LV Status              available
  # open                 1
  LV Size                <65.12 GiB
  Current LE             16670
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/cl/root
  LV Name                root
  VG Name                cl
  LV UUID                bF0vgE-MVIo-biaM-bJ0R-emoA-fTFe-doiUQO
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-04-02 11:15:21 +0900
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0


Tiếp theo mình sẽ dùng lệnh lvremove để xóa logical volume /home/

# lvremove /dev/cl/home
Do you really want to remove active logical volume home? [y/n]: y
Logical volume "home" successfully removed

Sử dụng lệnh vgs để xem dung lượng trống sau khi xóa

# vgs
  VG #PV #LV #SN Attr   VSize    VFree
  cl   1   2   0 wz--n- <119.00g 65.12g

Tiếp theo là bước thay đổi kích thước cho phân vùng root. Bạn nhập vào dung lượng trống đã kiểm tra ở trên.

# lvextend --size +65.11GB -r /dev/mapper/centos-root 
  Rounding size to boundary between physical extents: 65.11 GiB
  Extending logical volume root to 115.11 GiB
  Logical volume root successfully resized
meta-data=/dev/mapper/cl-root    isize=512    agcount=6, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=18909184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 18909184 to 30176256

Kiểm tra lại kích thước các phân vùng

# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
fd0           2:0    1     4K  0 disk
sda           8:0    0   120G  0 disk
├─sda1        8:1    0     1G  0 part /boot
└─sda2        8:2    0   119G  0 part
  ├─cl-root 253:0    0 115.1G  0 lvm  /
  └─cl-swap 253:1    0   3.9G  0 lvm  [SWAP]
sr0          11:0    1  1024M  0 rom

Để khởi động lại hệ thống mà không bị thay đổi các bạn chỉnh sửa file /etc/fstab

Comment hoặc xóa dòng “/dev/mapper/cl-home /home xfs defaults 0 0”

#
# /etc/fstab
# Created by anaconda on Tue Apr  2 11:15:28 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=7496f1b9-f26e-4663-bc1e-374d914de548 /boot                   xfs     defaults        0 0
#/dev/mapper/cl-home     /home                   xfs     defaults        0 0
/dev/mapper/cl-swap     swap                    swap    defaults        0 0

Khởi động lại và kiểm tra thành quả nào. Chúc các bạn thành công.