centos掛載磁盤及擴展根目錄


掛載磁盤

https://jingyan.baidu.com/album/a681b0de5b46db3b184346fc.html?picindex=2

擴展根目錄:

https://blog.csdn.net/qq_38685754/article/details/85135264

https://www.jianshu.com/p/bf4ba81c9877

https://www.cnblogs.com/luck123/p/7994096.html    (據說親測有效--注意坑,別掛root下面??)

強制卸載命令 umount -l

https://blog.csdn.net/u014237598/article/details/83026286     為centos6的

https://blog.csdn.net/bigtree_3721/article/details/86646551       (擴展Centos7 邏輯卷 物理卷 卷組 實踐,,非根分區擴展,經測比較有效)

Centos掛載硬盤(查看、分區、格式化、掛載)磁盤

https://www.fujieace.com/linux/centos-mount.html

http://www.360doc.com/content/18/0316/10/670256_737454830.shtml

https://blog.csdn.net/bigtree_3721/article/details/86646551

刪除邏輯卷

https://blog.51cto.com/junongs/2330676?source=dra

強制卸載命令:

https://blog.csdn.net/qq_19175749/article/details/51154529

##########################################################################################################

https://blog.csdn.net/bigtree_3721/article/details/86646551       (擴展Centos7 邏輯卷 物理卷 卷組 實踐,,非根分區擴展,經測比較有效)

第一章: 相關概念

1.物理存儲介質(PhysicalStorageMedia):指系統的物理存儲設備==>磁盤,如:/dev/hda、/dev/sda等,是存儲系統最底層的存儲單元。

2.物理卷(Physical Volume,PV):指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。

3.卷組(Volume Group,VG):是由一個或多個物理卷所組成的存儲池,在卷組上能創建一個或多個邏輯卷。

4.邏輯卷(Logical Volume,LV):類似於非LVM系統中的硬盤分區,它建立在卷組之上,是一個標准的塊設備,在邏輯卷之上可以建立文件系統。

第二章 實踐與例子

1 創建物理卷

物理卷(Physical Volume,PV):就是指硬盤分區,也可以是整個硬盤或已創建的軟RAID,是LVM的基本存儲設備。在創建邏輯卷之前需要先創建物理卷,然后將多個物理卷組合創建卷組,最后在卷組的基礎上創建邏輯卷。

將空白硬盤(或者分區)加入主機,系統識別到新的硬盤sdb后,使用pvcreate對硬盤創建PV:
代碼實現:

# lsblk  /dev/sdb
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdc  253:32   0  500G  0 disk
 
#fdisk /dev/sdb
....
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e           # 修改系統ID為 Linux LVM
Changed type of partition 'Linux' to 'Linux LVM'
 
Command (m for help): p
 
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x6200a0ac
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   8e  Linux LVM
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
 
//注,如果是第一次建立的新磁盤,則應該先分區。命令順序如下:
 
# fdisk /dev/sdb
>n
然后選擇p(主分區)
>p
然后一路回車
>t
后面的命令和上面一樣了。
 
 
 # 創建物理卷
# pvcreate /dev/sdb1        
  Physical volume "/dev/sdb1" successfully created.
# pvdisplay
  "/dev/sdb1" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U


需要注意的是,如果針對空閑分區創建PV,需要重新指定分區的系統ID。在上面的代碼中Hex code (type L to list all codes): 8e指定分區的系統ID為Linux LVM。空白為分區磁盤直接使用pvcreate /dev/sdb命令,系統ID自動轉成Linux LVM。

2 創建卷組

卷組(Volume Group,VG):是由一個或多個物理卷所組成的存儲池,在卷組上能創建一個或多個邏輯卷。現在使用vgcreate命令對上文創建的PV(單個物理卷)創建卷組。
代碼實現:

[root@Centos7T ~]#vgcreate vg0 /dev/sdb1     # 創建卷組vg0,指定物理塊PE大小10M,並將pv:/dev/sdb1加入vg0.
  Volume group "vg0" successfully created
[root@Centos7T ~]#vgdisplay             # 查看所有卷組的信息.后面接具體卷組名,可查看指定卷組信息
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               9.99 GiB
  PE Size               4.00 MiB
  Total PE              1023
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1023 / 9.99 GiB
  VG UUID               46Z4tB-d71l-nfir-t6sB-cZPo-SBfl-eFCDIj
[root@Centos7T ~]#pvdisplay          # 查看所當前物理卷的信息.后面可接具體物理卷設備,可查看指定物理卷信息
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg0              # 已加入卷組vg0
  PV Size               10.00 GiB / not usable 10.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB        # pe大小
  Total PE              1023             # 當前物理卷的pe總數
  Free PE               1023             # 當前物理卷的未被划分邏輯卷的pe總數
  Allocated PE          0
  PV UUID               xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U

3 創建邏輯卷

邏輯卷(Logical Volume,LV):類似於非LVM系統中的硬盤分區,它建立在卷組之上,是一個標准的塊設備,在邏輯卷之上可以建立文件系統。可以使用lvcreate命令創建邏輯卷
代碼實現:

# lvcreate -n lv0 -l 100%vg vg0     # 使用vg0的全部空間創建邏輯卷lv0
  Logical volume "lv0" created.
# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                zGNz6W-N4QC-m3ZF-ey3h-mP7i-gFJ3-DjGMX1
  LV Write Access        read/write
  LV Creation host, time Centos7.magedu.com, 2017-08-19 21:27:34 +0800
  LV Status              available
  # open                 0
  LV Size                9.99 GiB
  Current LE             1023
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

# lsblk -f /dev/sdb
NAME        FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                                  
└─sdb1      LVM2_member       xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U
  └─vg0-lv0

此時會在/dev目錄下生成一個新的設備文件:

# ll /dev/vg0/lv0
lrwxrwxrwx. 1 root root 7 Aug 19 21:27 /dev/vg0/lv0 -> ../dm-0     # 軟鏈接文件

#ll /dev/dm-0
brw-rw----. 1 root disk 253, 0 Aug 19 21:27 /dev/dm-0

4 創建文件系統

在邏輯卷lv0創建完成后話需要創建文件系統並掛載到制定目錄才能夠使用,當然還需要將掛載信息寫入/etc/fstab文件
代碼實現:

# mkfs.xfs /dev/vg0/lv0           # 創建文件系統
meta-data=/dev/vg0/lv0           isize=512    agcount=4, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2618880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# lsblk /dev/sdb -f
NAME        FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                                  
└─sdb1      LVM2_member       xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U
  └─vg0-lv0 xfs               549cfbaa-a6dc-4161-a765-5f55af78131a   
# lsblk /dev/vg0/lv0 -f
NAME    FSTYPE LABEL UUID                                 MOUNTPOINT
vg0-lv0 xfs          549cfbaa-a6dc-4161-a765-5f55af78131a
# mkdir /mnt/lv0 && mount /dev/vg0/lv0 /mnt/lv0     # 將邏輯卷掛載到制定目錄
[root@Centos7T ~]#df -T             # 查看掛載點
Filesystem          Type     1K-blocks    Used Available Use% Mounted on
/dev/sda2           xfs       52403200 4605416  47797784   9% /
/dev/sda1           xfs        1038336  172116    866220  17% /boot
/dev/sda5           xfs       52403200  376288  52026912   1% /app
/dev/sr0            iso9660    8086368 8086368         0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg0-lv0 xfs       10465280   32944  10432336   1% /mnt/lv0
# blkid /dev/vg0/lv0
/dev/vg0/lv0: UUID="549cfbaa-a6dc-4161-a765-5f55af78131a" TYPE="xfs"
#df -T /dev/vg0/lv0
Filesystem          Type 1K-blocks  Used Available Use% Mounted on
/dev/mapper/vg0-lv0 xfs   10465280 32944  10432336   1% /mnt/lv0
# echo "UUID=549cfbaa-a6dc-4161-a765-5f55af78131a /mnt/lv0                 xfs    defaults        0 0" >> /etc/fstab
# cat /etc/fstab | egrep "UUID"
UUID=806ef114-dff2-4c17-aff7-c95bc67faf40 /                       xfs     defaults        0 0
UUID=3df87bb6-2f6f-4d3f-af94-5ec47d2a9796 /app                    xfs     defaults        0 0
UUID=1e7ba91a-85c8-442b-b105-bc61c00ddbee /boot                   xfs     defaults        0 0
UUID=cc0e9678-d369-4bb9-9039-fd2f322df8b4 swap                    swap    defaults        0 0
UUID=549cfbaa-a6dc-4161-a765-5f55af78131a /mnt/lv0                 xfs    defaults        0 0

至此,邏輯卷創建完畢並可投入使用。

5 擴展邏輯卷

任何分區在使用過程中難免會遇到空間不足的情況,邏輯卷也不例外。但我們可以很方便的多邏輯卷進行擴展,不論是使用新的空白磁盤還是已有的空白分區。其大致實現原理為:對空白分區創建物理卷,然后將物理卷加入到需要擴展邏輯卷所在的卷組,最后擴大邏輯卷空間。如果邏輯卷所在的卷組還有空閑的空間(PE)可被使用且足夠大,則甚至不需要另外的分區或者磁盤。本文還是以新的分區為例擴展邏輯卷lv0.
代碼實現:
修改系統ID並創建PV

[root@Centos7T ~]#lsblk -f /dev/sdc
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sdc                                                      
└─sdc1 xfs          6ef26358-ce07-4b0c-b28b-07caa90838bd
[root@Centos7T ~]#fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sdc: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xe20e9d16

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    62914559    31456256   83  Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p

Disk /dev/sdc: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xe20e9d16

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    62914559    31456256   8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@Centos7T ~]#pvcreate /dev/sdc1          # 在指定分區上創建物理卷
WARNING: xfs signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdc1.
  Physical volume "/dev/sdc1" successfully created.
[root@Centos7T ~]#pvs
  PV         VG  Fmt  Attr PSize  PFree
  /dev/sdb1  vg0 lvm2 a--   9.99g     0
  /dev/sdc1      lvm2 ---  30.00g 30.00g

將PV加入到指定VG

[root@Centos7T ~]#vgextend vg0 /dev/sdc1          # 將物理卷加入已有的卷組
  Volume group "vg0" successfully extended
[root@Centos7T ~]#vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vg0   2   1   0 wz--n- 39.98g 29.99g            # VFREE為30G,即為新增物理卷的空間
[root@Centos7T ~]#pvdisplay /dev/sdc1
  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               vg0
  PV Size               30.00 GiB / not usable 9.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB
  Total PE              3071
  Free PE               3071
  Allocated PE          0
  PV UUID               Ez6ZFl-xjWR-gQHp-O3Yj-vTza-2OCE-h7Jccy

可知,將新建的PV加入到vg0后,vg0也有了30G的可用空間。同時/dev/sdc1的PE大小自動與/dev/sdb1同步為10M。
擴展邏輯卷LV

[root@Centos7T ~]#lvs
  LV   VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0 -wi-ao---- 9.99g                                                    

[root@Centos7T ~]#lvextend -l 100%free /dev/vg0/lv0      # 擴展邏輯卷,使用卷組的全部可用空間
  Size of logical volume vg0/lv0 changed from 9.99 GiB (1023 extents) to 29.99 GiB (3071 extents).
  Logical volume vg0/lv0 successfully resized.
[root@Centos7T ~]#lvs
  LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0 -wi-ao---- 29.99g                                       
[root@Centos7T ~]#lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                zGNz6W-N4QC-m3ZF-ey3h-mP7i-gFJ3-DjGMX1
  LV Write Access        read/write
  LV Creation host, time Centos7.magedu.com, 2017-08-19 21:27:34 +0800
  LV Status              available
  # open                 1
  LV Size                29.99 GiB
  Current LE             3071
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

[root@Centos7T ~]#lsblk -f /dev/sd{b,c}
NAME        FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                                  
└─sdb1      LVM2_member       xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U
  └─vg0-lv0 xfs               549cfbaa-a6dc-4161-a765-5f55af78131a   /mnt/lv0
sdc                                                                  
└─sdc1      LVM2_member       Ez6ZFl-xjWR-gQHp-O3Yj-vTza-2OCE-h7Jccy
  └─vg0-lv0 xfs               549cfbaa-a6dc-4161-a765-5f55af78131a   /mnt/lv0

邏輯卷擴展成功。

5 刪除邏輯卷

本文由於更多是演示,刪除邏輯卷會卷組、物理卷一並徹底刪除。但實際生產中可能只是單獨刪除邏輯卷,卷組、物理卷還會保留。當然,實際生產中很少需要刪除邏輯卷。在刪除邏輯卷之前,所有有用的資料都需要備份轉移。
代碼實現:

[root@Centos7T ~]#sed -i '/lv0/d' /etc/fstab && umount /mnt/lv0/      # 刪除配置信息
[root@Centos7T ~]#cat /etc/fstab | egrep "UUID"
UUID=806ef114-dff2-4c17-aff7-c95bc67faf40 /                       xfs     defaults        0 0
UUID=3df87bb6-2f6f-4d3f-af94-5ec47d2a9796 /app                    xfs     defaults        0 0
UUID=1e7ba91a-85c8-442b-b105-bc61c00ddbee /boot                   xfs     defaults        0 0
UUID=cc0e9678-d369-4bb9-9039-fd2f322df8b4 swap                    swap    defaults        0 0
[root@Centos7T ~]#df -T
Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/sda2      xfs       52403200 4605388  47797812   9% /
/dev/sda1      xfs        1038336  172116    866220  17% /boot
/dev/sda5      xfs       52403200  376288  52026912   1% /app
/dev/sr0       iso9660    8086368 8086368         0 100% /run/media/root/CentOS 7 x86_64
[root@Centos7T ~]#lvs
  LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0 -wi-a----- 29.99g
[root@Centos7T ~]#lvremove /dev/vg0/lv0         # 移除邏輯卷
Do you really want to remove active logical volume vg0/lv0? [y/n]: y
  Logical volume "lv0" successfully removed
[root@Centos7T ~]#lvs
[root@Centos7T ~]#vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vg0   2   0   0 wz--n- 39.98g 39.98g
[root@Centos7T ~]#vgremove vg0                  # # 移除卷組
  Volume group "vg0" successfully removed
[root@Centos7T ~]#vgs
[root@Centos7T ~]#pvs
  PV         VG Fmt  Attr PSize  PFree
  /dev/sdb1     lvm2 ---  10.00g 10.00g
  /dev/sdc1     lvm2 ---  30.00g 30.00g
[root@Centos7T ~]#pvremove /dev/sdb1 /dev/sdc1      # 移除物理卷
  Labels on physical volume "/dev/sdb1" successfully wiped.
  Labels on physical volume "/dev/sdc1" successfully wiped.
[root@Centos7T ~]#pvs
[root@Centos7T ~]#lsblk -f /dev/sd{b,c}
NAME   FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                             
└─sdb1                                                          
sdc                                                             
└─sdc1 LVM2_member       Ez6ZFl-xjWR-gQHp-O3Yj-vTza-2OCE-h7Jccy

至此,邏輯卷刪除完成。當然,/dev/sdc1顯示LVM2_member(實際上sdb1也是的),這是由於我們前面將/dev/sdc1的系統ID改為8e導致的,重新將系統ID改回83即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM