1. 程式人生 > >Linux Centos7.2根目錄擴容實操(lvm模式)

Linux Centos7.2根目錄擴容實操(lvm模式)

前提

網管已為虛擬主機追加一塊200G虛擬硬碟

實操

檢視使用情況

列出各分割槽使用情況

[[email protected] ~]# df -hl
檔案系統                 容量  已用  可用 已用% 掛載點
/dev/mapper/centos-root   36G   33G  3.2G   92% /
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G   88K  3.9G    1% /dev/shm
tmpfs                    3.9G  8.7M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1                497M  261M  237M   53% /boot
tmpfs                    782M   12K  782M    1% /run/user/0
tmpfs                    782M  4.0K  782M    1% /run/user/988

可以看見/dev/mapper/centos-root 已經使用了92%,我們準備為它擴容。

建立新分割槽

先看一下現有磁碟情況:

[[email protected] ~]# fdisk -l

磁碟 /dev/sda:42.9 GB, 42949672960 位元組,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x0008f3a5

   裝置 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    83886079    41430016   8e  Linux LVM

磁碟 /dev/sdb:214.7 GB, 214748364800 位元組,419430400 個扇區
Units =
扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟 /dev/mapper/centos-swap:4177 MB, 4177526784 位元組,8159232 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟 /dev/mapper/centos-root:38.2 GB, 38243663872 位元組,74694656 個扇區 Units =
扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 [[email protected] ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- 35.62g swap centos -wi-ao---- 3.89g [[email protected] ~]# fdisk -l 磁碟 /dev/sda:42.9 GB, 42949672960 位元組,83886080 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟標籤型別:dos 磁碟識別符號:0x0008f3a5 裝置 Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 83886079 41430016 8e Linux LVM 磁碟 /dev/sdb:214.7 GB, 214748364800 位元組,419430400 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟 /dev/mapper/centos-swap:4177 MB, 4177526784 位元組,8159232 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組 磁碟 /dev/mapper/centos-root:38.2 GB, 38243663872 位元組,74694656 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 位元組 / 512 位元組 I/O 大小(最小/最佳):512 位元組 / 512 位元組

已經可以看到新磁碟/dev/sdb。

對新磁碟進行分割槽

在fdisk的互動模式中,依次輸入:

n --建立新分割槽
p --建立主分割槽
<回車> --預設分割槽編號
<回車> --預設起始扇區位置。
<回車> --預設結束扇區位置。
w --寫入分割槽表

[[email protected] ~]# fdisk /dev/sdb 
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在記憶體中,直到您決定將更改寫入磁碟。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁碟識別符號 0xa91cbf10 建立新的 DOS 磁碟標籤。

命令(輸入 m 獲取幫助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分割槽號 (1-4,預設 1):
起始 扇區 (2048-419430399,預設為 2048):
將使用預設值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-419430399,預設為 419430399):
將使用預設值 419430399
分割槽 1 已設定為 Linux 型別,大小設為 200 GiB

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁碟。

這樣就把整個磁碟分成了一個區。

再看一下現有磁碟情況

[[email protected] ~]# fdisk -l

磁碟 /dev/sda:42.9 GB, 42949672960 位元組,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x0008f3a5

   裝置 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    83886079    41430016   8e  Linux LVM

磁碟 /dev/sdb:214.7 GB, 214748364800 位元組,419430400 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0xa91cbf10

   裝置 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   83  Linux

磁碟 /dev/mapper/centos-swap:4177 MB, 4177526784 位元組,8159232 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組


磁碟 /dev/mapper/centos-root:38.2 GB, 38243663872 位元組,74694656 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組

已經多出了一個新分割槽

裝置 Boot      Start      End           Blocks   Id  System
/dev/sdb1      2048       419430399   209714176   83  Linux

擴充套件根目錄

將新分割槽用於擴充套件/root

先看一下卷分組

[[email protected] ~]# vgdisplay -v
    Using volume group(s) on command line.
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               39.51 GiB
  PE Size               4.00 MiB
  Total PE              10114
  Alloc PE / Size       10114 / 39.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               Ykx8CQ-951y-7BC0-vfDm-h05J-AyyK-XVwBY4
   
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                NarvTO-dKF1-dAfu-3yZD-g1Bd-jUvt-qTGIP6
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-03-31 10:58:34 +0800
  LV Status              available
  # open                 2
  LV Size                3.89 GiB
  Current LE             996
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                nVjnIr-3kdo-ncmg-Qoyw-DQeG-F0Lh-cdzVhi
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-03-31 10:58:35 +0800
  LV Status              available
  # open                 1
  LV Size                35.62 GiB
  Current LE             9118
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Physical volumes ---
  PV Name               /dev/sda2     
  PV UUID               BWUVqr-mVpy-x6gX-bqxU-NJP7-l48n-Lrx9Ke
  PV Status             allocatable
  Total PE / Free PE    10114 / 0

可以看到當前卷分組名為"centos"。

為之前新增的分割槽建立物理卷:

[[email protected] ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

檢視結果:

[[email protected] ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               39.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              10114
  Free PE               0
  Allocated PE          10114
  PV UUID               BWUVqr-mVpy-x6gX-bqxU-NJP7-l48n-Lrx9Ke
   
  "/dev/sdb1" is a new physical volume of "200.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               200.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               cKQd9i-eDVI-BO2Y-BNCS-Yaxj-ouKo-PPdRQC

已經看到新建立的200G大小的物理卷

擴展卷分組,"centos"是vgdisplay命令查到的卷分組名

[[email protected] ~]# vgextend centos /dev/sdb1
  Volume group "centos" successfully extended

提示成功擴充套件。

下面檢視一下邏輯卷:

[[email protected] ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                NarvTO-dKF1-dAfu-3yZD-g1Bd-jUvt-qTGIP6
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-03-31 10:58:34 +0800
  LV Status              available
  # open                 2
  LV Size                3.89 GiB
  Current LE             996
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                nVjnIr-3kdo-ncmg-Qoyw-DQeG-F0Lh-cdzVhi
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-03-31 10:58:35 +0800
  LV Status              available
  # open                 1
  LV Size                35.62 GiB
  Current LE             9118
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

可以看到/dev/centos/root目前的LV Size是35.62 G。

下面擴充套件邏輯卷/dev/centos/root

[[email protected] ~]# lvextend -l +200G /dev/centos/root
  Invalid argument for --extents: +200G
  Error during parsing of command line.
[[email protected] ~]# lvextend -L +200G /dev/centos/root
  Insufficient free space: 51200 extents needed, but only 51199 available
[[email protected] ~]# lvextend -L +199G /dev/centos/root
  Size of logical volume centos/root changed from 35.62 GiB (9118 extents) to 234.62 GiB (60062 extents).
  Logical volume root successfully resized.

注:+199G是我們新增加的分割槽大小。

擴充套件後,還要執行一步:

[[email protected] ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=2334208 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=9336832, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=4559, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 9336832 to 61503488

將檔案系統擴大。
完成。

因為安裝CentOS用的xfs分割槽,所以使用命令xfs_growfs擴充套件檔案系統大小。否則的話使用resize2fs命令。

檢視結果:

[[email protected] bin]# df -hl
檔案系統                 容量  已用  可用 已用% 掛載點
/dev/mapper/centos-root  235G   33G  202G   14% /
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G   88K  3.9G    1% /dev/shm
tmpfs                    3.9G  8.7M  3.9G    1% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1                497M  261M  237M   53% /boot
tmpfs                    782M   16K  782M    1% /run/user/0
tmpfs                    782M  4.0K  782M    1% /run/user/988

/root已經擴充到235G