小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux 磁盤管理,掛載分區(qū)管理,磁盤分區(qū)擴容縮容管理,詳細(xì)教程

 螞蟻家園 2022-04-22

一、Linux磁盤基本信息查看命令

df -h 查看已經(jīng)在使用或掛載的磁盤信息。查看的是文件系統(tǒng)的大小

ubuntu@ubuntu:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.5M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.8G   11G  39% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop1                          71M   71M     0 100% /snap/lxd/21029
/dev/sda2                          976M  107M  803M  12% /boot
/dev/loop0                          62M   62M     0 100% /snap/core20/1242
/dev/loop2                          56M   56M     0 100% /snap/core18/2253
/dev/loop4                          33M   33M     0 100% /snap/snapd/12704
/dev/loop3                          56M   56M     0 100% /snap/core18/2128
/dev/loop5                          43M   43M     0 100% /snap/snapd/14066
/dev/loop6                          68M   68M     0 100% /snap/lxd/21835
tmpfs                              391M     0  391M   0% /run/user/1000
/dev/sdb2                          1.8G  5.6M  1.7G   1% /mnt

關(guān)鍵是重要的系統(tǒng)分區(qū)掛載:

/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.8G   11G  39% /
/dev/sda2                          976M  107M  803M  12% /boot

lsblk 查看所有存在的磁盤及分區(qū)(不管使用掛載是否),查看的是磁盤的大小

在此sda為默認(rèn)磁盤,系統(tǒng)也在這塊磁盤之中,操作需謹(jǐn)慎在謹(jǐn)慎,尤其是sda3分區(qū)。

ubuntu@ubuntu:~$ lsblk 
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0 61.9M  1 loop /snap/core20/1242
loop1                       7:1    0 70.3M  1 loop /snap/lxd/21029
loop2                       7:2    0 55.5M  1 loop /snap/core18/2253
loop3                       7:3    0 55.4M  1 loop /snap/core18/2128
loop4                       7:4    0 32.3M  1 loop /snap/snapd/12704
loop5                       7:5    0 42.2M  1 loop /snap/snapd/14066
loop6                       7:6    0 67.2M  1 loop /snap/lxd/21835
sda                         8:0    0   20G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /
sdb                         8:16   0   20G  0 disk 
├─sdb1                      8:17   0   99M  0 part 
└─sdb2                      8:18   0  1.9G  0 part /mnt

lsblk -f 查看磁盤分區(qū)格式,有格式才能掛載成功。

ubuntu@ubuntu:~$ lsblk -f
NAME                      FSTYPE      LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
loop0                     squashfs                                                       0   100% /snap/core20/1242
loop1                     squashfs                                                       0   100% /snap/lxd/21029
loop2                     squashfs                                                       0   100% /snap/core18/2253
loop3                     squashfs                                                       0   100% /snap/core18/2128
loop4                     squashfs                                                       0   100% /snap/snapd/12704
loop5                     squashfs                                                       0   100% /snap/snapd/14066
loop6                     squashfs                                                       0   100% /snap/lxd/21835
sda                                                                                               
├─sda1                                                                                            
├─sda2                    ext4              d5001b8f-61a9-4256-a0b9-a80655679a94    802.7M    11% /boot
└─sda3                    LVM2_member       AHD2gO-JnY7-HtBk-fazX-yTYH-9oBh-venh4n                
  └─ubuntu--vg-ubuntu--lv ext4              e5f6d371-d930-4ff3-a798-b01e0ba04d9a     10.9G    36% /
sdb                                                                                               
├─sdb1                    ext4              ae939992-ca1f-4acc-878e-500f6ce2371b                  
└─sdb2                    ext4              e9278c58-39b8-4825-99f6-d055ca818ad0      1.7G     0% /mnt

分區(qū)無格式的,通過以下命令格式化分區(qū)格式。

#格式化/dev/sdb2為ext4格式。
sudo mkfs.ext4 /dev/sdb2
#或者
sudo mkfs -t ext4 /dev/sdb2

二、添加新硬盤直接掛載,或分區(qū)后掛載

1:直接掛載整個硬盤

添加一塊新硬盤,注:是添加一塊新硬盤,不是擴容硬盤。

添加后的硬盤名字信息為:sdb,sbc,sdd....以此類推。

如這里添加一塊sdb,沒有任何操作,是沒法掛載。

ubuntu@ubuntu:~$ lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0 61.9M  1 loop /snap/core20/1242
loop1                       7:1    0 70.3M  1 loop /snap/lxd/21029
loop2                       7:2    0 55.5M  1 loop /snap/core18/2253
loop3                       7:3    0 55.4M  1 loop /snap/core18/2128
loop4                       7:4    0 32.3M  1 loop /snap/snapd/12704
loop5                       7:5    0 42.2M  1 loop /snap/snapd/14066
loop6                       7:6    0 67.2M  1 loop /snap/lxd/21835
sda                         8:0    0   20G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /
sdb                         8:16   0   20G  0 disk 

格式化,掛載。

#格式化硬盤
sudo mkfs.ext4 /dev/sdb
#掛載硬盤
sudo mount /dev/sdb /mnt/
#查看掛載信息
df -h
ubuntu@ubuntu:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.5M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.8G   11G  39% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop1                          71M   71M     0 100% /snap/lxd/21029
/dev/sda2                          976M  107M  803M  12% /boot
/dev/loop0                          62M   62M     0 100% /snap/core20/1242
/dev/loop2                          56M   56M     0 100% /snap/core18/2253
/dev/loop4                          33M   33M     0 100% /snap/snapd/12704
/dev/loop3                          56M   56M     0 100% /snap/core18/2128
/dev/loop5                          43M   43M     0 100% /snap/snapd/14066
/dev/loop6                          68M   68M     0 100% /snap/lxd/21835
tmpfs                              391M     0  391M   0% /run/user/1000
/dev/sdb                            20G   45M   19G   1% /mnt

最簡單的方式,掛載成功,完成。

2:硬盤分區(qū)后掛載分區(qū)

注:分區(qū)前,確保此硬盤沒有重要數(shù)據(jù),或者數(shù)據(jù)已備份。

先取消掛載,取消掛載后再分區(qū)。不取消掛載,也可以分區(qū),但是一旦分區(qū)保存完成,此硬盤格式為無格式狀態(tài),雖然你還可以在原來掛載目錄操作,但機器重啟后,掛載自動取消,無法在掛載整個硬盤上去,原整個硬盤數(shù)據(jù)也全部沒有了。分區(qū)也只有硬盤取消掛載的情況下,格式化分區(qū)才能生效,同時才能掛載上去。

sudo umount /mnt/

分區(qū)命令為 fdisk , fdisk -l 可查看所有已分區(qū)

#對sdb硬盤分區(qū)
sudo fdisk /dev/sdb

相關(guān)操作參數(shù)輸入:

#輸入m查看命令操作
Command (m for help): m
#輸入n添加新分區(qū)
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
#輸入P,類型主分區(qū),只能4個主分區(qū),擴展分區(qū)一般作用多為創(chuàng)建邏輯分區(qū)。擴展分區(qū)無法直接被使用的。
Select (default p): p
#主分區(qū)號碼,默認(rèn)即可,從1到4的順序
Partition number (1-4, default 1): 
#分區(qū)開始扇區(qū),默認(rèn)2048,不要小于2048,否則有些功能異常,不支持2048以下
First sector (2048-41943039, default 2048): 2048
#接受扇區(qū),即多大空間的分區(qū),自己換算,這里20000000大概為9.5G左右。
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): 20000000

Created a new partition 1 of type 'Linux' and of size 9.5 GiB.
#w保存分區(qū)
Command (m for help): w
The partition table has been altered.
Syncing disks.
#p打印顯示已存在分區(qū)
Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc5ea7ec

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048 20000000 19997953  9.5G 83 Linux
#q退出

有些系統(tǒng)需要重啟生效,可以不重啟生效的命令

#更新內(nèi)核分區(qū)表
sudo partprobe

分區(qū)后的名稱,以此類推為sdb1,sdb2,sdb3,sdb4.......

格式化,掛載分區(qū)

sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /mnt/

分區(qū)掛載完成,可以操作寫入數(shù)據(jù)了

3:注意事項(擴展)

注:請不要在分區(qū)下(如sdb1,sdb2),在創(chuàng)建子分區(qū)。雖然創(chuàng)建出來分區(qū)有名稱類似sdb2p1,sdb2p2,sdb2p3,sdb2p4的名稱,保存也成功,但是系統(tǒng)不識別sudo fdisk -l,或者lsblk,都查看不到,沒有生效。唯一的作用就是將此分區(qū),格式變成無格式狀態(tài),需重新格式化掛載。數(shù)據(jù)也完了。

本人曾經(jīng)小白失敗經(jīng)歷分享:

一次查看硬盤,覺得sda(主硬盤,系統(tǒng)分區(qū)都在這里)下面分區(qū)挺大的,尤其是sda3,如下:

sda                         8:0    0   500G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   499G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   499G  0 lvm  /

覺得可以從sda3中在分區(qū)出來一點空間掛載, sudo fdisk /dev/sda3 然后一頓操作。

重啟后,玩完,進(jìn)不了系統(tǒng),因為ubuntu--vg-ubuntu--lv根目錄 / 被分區(qū)后,無法識別了,只能格式化此分區(qū)。如果格式化此分區(qū),數(shù)據(jù)也全沒了,關(guān)鍵還進(jìn)不去系統(tǒng)了。當(dāng)時一身冷汗,還好此服務(wù)器沒部署服務(wù)。所以重裝系統(tǒng)了。

這次經(jīng)歷注意兩點:

  • 1:不要輕易操作sda主硬盤下的分區(qū)。
  • 2:不要在分區(qū)下,在創(chuàng)建子分區(qū)。

三、擴展分區(qū)與邏輯分區(qū)

分區(qū)的時候有主分區(qū)(primary)和擴展分區(qū)(extended),主分區(qū)都知道,那擴展分區(qū)什么時候用呢?

主分區(qū)只能存在4個,無法再創(chuàng)建了,如果想創(chuàng)建多于4個主分區(qū),這時候就需要創(chuàng)建擴展分區(qū),通過擴展分區(qū)創(chuàng)建邏輯分區(qū)就可以使用了,和主分區(qū)使用沒啥區(qū)別。注:extended無法直接使用,不可格式化,不可掛載,必須創(chuàng)建邏輯分區(qū)后才能使用。擴展分區(qū)下可創(chuàng)建多個邏輯分區(qū)。

創(chuàng)建擴展分區(qū)和邏輯分區(qū)

#分區(qū)
sudo fdisk /dev/sdb

創(chuàng)建擴展分區(qū),Partition type選擇e即可,其他步驟一致。

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): e
Partition number (2-4, default 2): 
First sector (20000001-41943039, default 20000768): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (20000768-41943039, default 41943039): 30000000

Created a new partition 2 of type 'Extended' and of size 4.8 GiB.
#p查看擴展分區(qū)sdb2完成。
Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc5ea7ec

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1           2048 20000000 19997953  9.5G 83 Linux
/dev/sdb2       20000768 30000000  9999233  4.8G  5 Extended

創(chuàng)建邏輯分區(qū),Partition type選擇這時只有p和l選擇,選擇l(邏輯分區(qū)),其他步驟一致

Command (m for help): n
Partition type
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l

Adding logical partition 5
First sector (20002816-30000000, default 20002816): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (20002816-30000000, default 30000000): 

Created a new partition 5 of type 'Linux' and of size 4.8 GiB.
#p查看邏輯分區(qū)sdb5完成。
Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc5ea7ec

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1           2048 20000000 19997953  9.5G 83 Linux
/dev/sdb2       20000768 30000000  9999233  4.8G  5 Extended
/dev/sdb5       20002816 30000000  9997185  4.8G 83 Linux

擴展分區(qū)默認(rèn)sdb5開始命名,表示在4個主分區(qū)以后。邏輯分區(qū)好后,可以格式化掛載了。

sudo mkfs.ext4 /dev/sdb5
sudo mount /dev/sdb5 /mnt/
df -h

查看結(jié)果如下,掛載成功,可以使用了。

sdb                         8:16   0   20G  0 disk 
├─sdb1                      8:17   0  9.5G  0 part 
├─sdb2                      8:18   0    1K  0 part 
└─sdb5                      8:21   0  4.8G  0 part /mnt

四、標(biāo)準(zhǔn)分區(qū)擴容(非LVM)

在同一塊硬盤下的標(biāo)準(zhǔn)擴容,相對比較簡單。步驟為刪除需要擴容的分區(qū)編號,重新分區(qū)編號,重新掛載即可。

這里以sdb1為例,已掛載至/mysql路徑,總共有20G,還有將近10G空閑,將空閑的分配給sdb1。

sdb                         8:16   0   20G  0 disk 
└─sdb1                      8:17   0  9.8G  0 part /mysql

為了測試數(shù)據(jù)完整性,在sdb1創(chuàng)建一個文件test.txt,

cd /mysql/
sudo vim test.txt

內(nèi)容為test,mysql,12345678。

ubuntu@ubuntu:/$ cat /mysql/test.txt
test,mysql,12345678

取消掛載

sudo umount /mysql

重新分區(qū)

sudo fdisk /dev/sdb

刪除分區(qū),再重新分區(qū)

#刪除分區(qū),選擇所要擴展分區(qū)的編號,這里只有1個,默認(rèn)刪除第一個sdb1.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
#重新分區(qū)
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
#選擇主分區(qū)
Select (default p): p
#編號1,還是原來的sdb1.
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 

#結(jié)束大小不要小于原來的大小,否則容易造成數(shù)據(jù)改變或丟失,原來時10G,這里改為大概15G
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): 30780000

Created a new partition 1 of type 'Linux' and of size 14.7 GiB.
Partition #1 contains a ext4 signature.

#按 N 保留 xfs 簽名,移除的話分區(qū)的 UUID 會變更。
Do you want to remove the signature? [Y]es/[N]o: n

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

擴容完成,注:不需要重新格式化,否則數(shù)據(jù)丟失,直接掛載使用即可。

掛載查看原來數(shù)據(jù)是否還在,原來數(shù)據(jù)還在,沒有改變。至于為什么,涉及到磁盤的構(gòu)成,有柱面,扇區(qū),簇,編號之類的,有興趣自己可以研究。

ubuntu@ubuntu:/$ sudo mount /dev/sdb1 /mysql/
ubuntu@ubuntu:/mysql$ cat mysql/test.txt 
test,mysql,12345678

lsblk查看大小,sdb1由原來的10G左右,擴容為15G左右。擴容完成

sdb                         8:16   0   20G  0 disk 
└─sdb1                      8:17   0 14.7G  0 part /mysql

五、系統(tǒng)根分區(qū)(LVM)擴容

主要擴容系統(tǒng)根分區(qū)。如以下的系統(tǒng)的sda3,ubuntu--vg-ubuntu--lv根分區(qū)。

需謹(jǐn)慎操作,涉及到系統(tǒng)相關(guān)磁盤分區(qū)。

sda                         8:0    0   20G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /

1:物理卷,卷組,邏輯卷

擴展之前。需要了解的三個概率:物理卷,卷組,邏輯卷。引入這個概念,可以解除物理隔離的限制。

  • 物理卷:Physical volume 簡稱 PV

物理卷在邏輯卷管理器中屬于最底層的,任何的邏輯卷和卷組都必需依靠物理卷來建立,物理卷可以是一個完整的硬盤,也可以是硬盤中的某一個分區(qū)。

  • 卷組 - Volume group 簡稱 VG

卷組是建立在物理卷之上,一個卷組中可以包含一個或者多個物理卷。

  • 邏輯卷 - Logical volume 簡稱 LV

邏輯卷類似于非 LVM 系統(tǒng)中的硬盤分區(qū),在邏輯卷之上可以建立文件系統(tǒng) (比如 /home 或者 /usr 等)。

加上還有其他元素(有興趣自己深究),一起構(gòu)成LVM(Logical Volume Manager)邏輯卷管理。

Linux 磁盤管理,掛載分區(qū)管理,磁盤分區(qū)擴容縮容管理,詳細(xì)教程

總結(jié):多個磁盤/分區(qū)/raid-->多個物理卷PV-->合成卷組VG-->從VG劃分出邏輯卷LV-->格式化LV,掛載使用。

功能

PV管理命令

VG管理命令

LV管理命令

scan 掃描

pvscan

vgscan

lvscan

create 創(chuàng)建

pvcreate

vgcreate

vcreate

display 顯示

pvdisplay

vgdisplay

lvdisplay

remove 移除

pvremove

vgremove

lvremove

extend 擴展

vgextend

lvextend

reduce 減少

vgreduce

lvreduc

舉個通俗例子:多個磁盤/分區(qū)就是多袋小麥,創(chuàng)建物理卷(PV)就是分別磨成面粉,合成卷組(VG)就是把面粉和成一大團(tuán)面團(tuán),邏輯卷(LV)就是分出去的一個個小坨小面團(tuán)分別做包子餃子之類其他功能的。想要擴容給小面團(tuán)(LV),就需要從大面條(VG)里面取出來補。需要擴容的根分區(qū)就是那一坨小面團(tuán)。

2:同一塊硬盤擴容根分區(qū)

如下:總磁盤30G大小,根分區(qū)20G,有10G空閑需要分配給ubuntu--vg-ubuntu--lv根分區(qū)。

sda                         8:0    0   30G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   19G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   19G  0 lvm  /

從根分區(qū)的邏輯卷管理(lvm)的名稱可以看出,已存在的卷組(VG)為ubuntu--vg,和邏輯卷(LV)為ubuntu--lv,所有想要擴容,只要增加卷組(VG)的空間,然后分配給邏輯卷(LV)即可。

2.1:查看卷組(VG)和邏輯卷(LV)信息

也可以自行查看存在的卷組(VG)和邏輯卷(LV)。

#查看卷組,F(xiàn)ree PE 為空閑可分配的空間。
ubuntu@ubuntu:~$ sudo vgdisplay 
[sudo] password for ubuntu: 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               Gvpatz-SSYp-qfrV-5AGf-BXAD-aVC7-XZlewX
#查看邏輯卷  
ubuntu@ubuntu:~$ sudo lvdisplay 
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                XND7LS-kWJL-LISf-HmrN-eK7S-X8ea-2Lazo7
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2021-11-27 09:39:38 +0000
  LV Status              available
  # open                 1
  LV Size                <19.00 GiB
  Current LE             4863
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

2.2:創(chuàng)建分配分區(qū)(獲取小麥原材料)

為了給增加卷組(VG)的空閑可用空間,先創(chuàng)建一個分區(qū),將剩下的分配給分區(qū)。

sudo fdisk /dev/sda

n分區(qū),全部默認(rèn)回車即可,記住主分區(qū)為4,即sda4。

Command (m for help): n
Partition number (4-128, default 4): 
First sector (41940992-62914526, default 41940992): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (41940992-62914526, default 62914526): 

Created a new partition 4 of type 'Linux filesystem' and of size 10 GiB.

Command (m for help): p
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0EC75B7E-5AD4-4971-B452-57826F74E4FD

Device        Start      End  Sectors Size Type
/dev/sda1      2048     4095     2048   1M BIOS boot
/dev/sda2      4096  2101247  2097152   1G Linux filesystem
/dev/sda3   2101248 41940991 39839744  19G Linux filesystem
/dev/sda4  41940992 62914526 20973535  10G Linux filesystem

Command (m for help): w
The partition table has been altered.
Syncing disks.

2.3:創(chuàng)建物理卷PV(磨成面粉)

sudo pvcreate /dev/sda4

顯示如下:

ubuntu@ubuntu:~$ sudo pvcreate /dev/sda4 
  Physical volume "/dev/sda4" successfully created.

注意:老的Linux在創(chuàng)建PV時,需要將分區(qū)類型改為Linux

LVM(8e)。但新的系統(tǒng)已經(jīng)非常智能,即使默認(rèn)的Linux分區(qū)(83),也可以創(chuàng)建PV。具體過程是fdisk 過程中,選擇參數(shù)

l:查看所有分區(qū)類型代碼,及 t:修改分區(qū)類型代碼,選擇代碼8e類型即可。

2.4:添加到卷組VG中(大面團(tuán))

將物理卷PV添加到卷組VG中(面粉加到大面團(tuán)中),卷組VG這里已有,上面查詢得知名稱為ubuntu-vg

sudo vgextend ubuntu-vg /dev/sda4

顯示如下:

ubuntu@ubuntu:~$ sudo vgextend ubuntu-vg /dev/sda4
Volume group "ubuntu-vg" successfully extended

再次查看卷組VG,F(xiàn)ree PE / Size 已經(jīng)有了10G的空閑空間可分配了。

ubuntu@ubuntu:~$ sudo vgdisplay 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               28.99 GiB
  PE Size               4.00 MiB
  Total PE              7422
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               Gvpatz-SSYp-qfrV-5AGf-BXAD-aVC7-XZlewX

2.5:分配空間給邏輯卷根LV(小面團(tuán))

從卷組VG分配空間給邏輯卷根LV目錄(從大面團(tuán)取出可用的給需要的小面團(tuán)),上面可查詢可知,LV名稱為ubuntu-lv,擴容命令及參數(shù)參考如下:

#分配10G ,-L指定邏輯卷的大小,單位為“kKmMgGtT”字節(jié)
sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
#或者100%空閑分配, -l指定邏輯卷的大?。↙E數(shù))
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
#或者邏輯卷擴展至30G
sudo lvextend -L 30G /dev/ubuntu-vg/ubuntu-lv
   
#以上都可以加上參數(shù)-r ,將邏輯卷的文件系統(tǒng)擴展(如:房子建好了,需要裝修,不需要指定大?。?   

剛開始不夠10G,多少有點誤差,所有分配9.9G就可以了。顯示successfully成功,顯示如下:

ubuntu@ubuntu:~$ sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
  Insufficient free space: 2560 extents needed, but only 2559 available
ubuntu@ubuntu:~$ sudo lvextend -L +9.9G /dev/ubuntu-vg/ubuntu-lv
  Rounding size to boundary between physical extents: 9.90 GiB.
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <19.00 GiB (4863 extents) to <28.90 GiB (7398 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

2.6:resize2fs重新計算磁盤大小

執(zhí)行之后并不會立馬生效需要執(zhí)行,需要重新計算磁盤大小。這時候只能查看lsblk磁盤已增大,但是df -h里面文件系統(tǒng)沒有變化,所以需要操作這一步生效。

resize2fs命令是用來增大或者收縮未加載的“ext2/ext3/ext4”文件系統(tǒng)的大小。

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

顯示如下成功:

ubuntu@ubuntu:~$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 7575552 (4k) blocks long.

2.7:查看磁盤大小

df -h或者lsblk可查看,已經(jīng)擴容成功為30G.

df -h
/dev/mapper/ubuntu--vg-ubuntu--lv   29G  6.8G   21G  26% /

lsblk
sda                         8:0    0   30G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
├─sda3                      8:3    0   19G  0 part 
│ └─ubuntu--vg-ubuntu--lv 253:0    0 28.9G  0 lvm  /
└─sda4                      8:4    0   10G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 28.9G  0 lvm  /

3:添加硬盤擴容根分區(qū)

3.1:添加新硬盤sdb

lsblk查看已顯示磁盤

sdb                         8:16   0   20G  0 disk 

3.2:創(chuàng)建物理卷PV

你可以分區(qū)后創(chuàng)建物理卷,也可以整塊硬盤創(chuàng)建物理卷PV,這里直接將整塊創(chuàng)建PV,將所有空間給系統(tǒng)根分區(qū)擴容。

sudo pvcreate /dev/sdb

下面步驟與上面添加類似

3.3:添加到卷組VG

sudo vgextend ubuntu-vg /dev/sdb
#查看free PE時候添加成功。
sudo vgdisplay

3.4:分配空間給邏輯卷根LV

sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv

3.5:重新計算磁盤,分配給系統(tǒng)文件

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

3.6:查看磁盤大小

df -h 和 lsblk 查看大小

ubuntu@ubuntu:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.5M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   39G  6.9G   30G  19% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop0                          56M   56M     0 100% /snap/core18/2128
/dev/loop2                          71M   71M     0 100% /snap/lxd/21029
/dev/loop1                          62M   62M     0 100% /snap/core20/1242
/dev/sda2                          976M  107M  803M  12% /boot
/dev/loop3                          43M   43M     0 100% /snap/snapd/14066
/dev/loop4                          68M   68M     0 100% /snap/lxd/21835
/dev/loop5                          56M   56M     0 100% /snap/core18/2253
/dev/loop6                          33M   33M     0 100% /snap/snapd/12704
tmpfs                              391M     0  391M   0% /run/user/1000
ubuntu@ubuntu:~$ lsblk 
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0 55.4M  1 loop /snap/core18/2128
loop1                       7:1    0 61.9M  1 loop /snap/core20/1242
loop2                       7:2    0 70.3M  1 loop /snap/lxd/21029
loop3                       7:3    0 42.2M  1 loop /snap/snapd/14066
loop4                       7:4    0 67.2M  1 loop /snap/lxd/21835
loop5                       7:5    0 55.5M  1 loop /snap/core18/2253
loop6                       7:6    0 32.3M  1 loop /snap/snapd/12704
sda                         8:0    0   30G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
├─sda3                      8:3    0   19G  0 part 
│ └─ubuntu--vg-ubuntu--lv 253:0    0   39G  0 lvm  /
└─sda4                      8:4    0   10G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   39G  0 lvm  /
sdb                         8:16   0   20G  0 disk 
└─ubuntu--vg-ubuntu--lv   253:0    0   39G  0 lvm  /

六、縮減LVM空間

重要事情說三遍:

正式環(huán)境,非必要情況或者不熟悉的情況下,請勿操作,寧愿空著,也別冒險

正式環(huán)境,非必要情況或者不熟悉的情況下,請勿操作,寧愿空著,也別冒險

正式環(huán)境,非必要情況或者不熟悉的情況下,請勿操作,寧愿空著,也別冒險

xfs類型不可以直接縮減,只擴不減。如果是ext2,ext3,ext4可以在線縮減,如果xfs盤要縮小就要刪除后重新添加

1:非系統(tǒng)根分區(qū)LVM縮容

四步,這里以名稱為 lv 為例子,這里是縮減至多少大小,不是縮減了多少。

1、取消掛載

系統(tǒng)根分區(qū)無法在線取消掛載,所以這時請勿對系統(tǒng)根分區(qū)執(zhí)行任何縮容操作

系統(tǒng)根分區(qū)無法在線取消掛載,所以這時請勿對系統(tǒng)根分區(qū)執(zhí)行任何縮容操作

系統(tǒng)根分區(qū)無法在線取消掛載,所以這時請勿對系統(tǒng)根分區(qū)執(zhí)行任何縮容操作

umount /lv/ #取消掛載目錄

2、e2fsck檢查修復(fù)磁盤完整性

e2fsck -f /dev/vg0/lv0

3、縮小系統(tǒng)文件空間,即df -h查看的空間

不取消掛載,這步會報錯,注:一定先減文件系統(tǒng),再減邏輯卷

resize2fs /dev/vg0/lv0 10G

4、縮小磁盤空間,即lsblk查看的空間

不執(zhí)行上面的操作,直接執(zhí)行這步,雖然成功,但是會操作數(shù)據(jù)丟失,系統(tǒng)無法啟動。

lvreduce -L 10G /dev/vg0/lv0

5、重新掛載

mount -a

最后查看lvs空間

lvs

擴展:

加上參數(shù)-r 可以一步到位,即將上面的3和4步驟一起執(zhí)行。

lvreduce命令使用-L選項減少空間,-r選項減少文件系統(tǒng)空間,實現(xiàn)動態(tài)調(diào)整(這是ext4文件系統(tǒng))

lvreduce -L 10G -r /dev/vg0/lv0

2:系統(tǒng)根分區(qū)LVM縮容

跟上面步驟一致,唯一的區(qū)別是沒法在線取消掛載,所以需要進(jìn)入救援模式(單用戶模式)

救援模式分兩種,一種是正常啟動系統(tǒng)進(jìn)入,另一種是加載鏡像是進(jìn)入。

縮容系統(tǒng)根分區(qū)必須是掛載鏡像時的救援模式才可以操作。

1、正常啟動系統(tǒng)進(jìn)入救援模式

啟動按shift鍵,出現(xiàn)選擇系統(tǒng)界面,按e。找到以單詞 linux 開頭的行,并在該行的末尾添加以下內(nèi)容(要到達(dá)末尾,只需按下 CTRL+e 或使用 END 鍵或左右箭頭鍵):

systemd.unit=rescue.target
Linux 磁盤管理,掛載分區(qū)管理,磁盤分區(qū)擴容縮容管理,詳細(xì)教程

添加完成后,只需按下 CTRL+x 或 F10 即可繼續(xù)啟動救援模式。幾秒鐘后,你將以 root 用戶身份進(jìn)入救援模式(單用戶模式)

2、掛載iso或者啟動盤進(jìn)入救援模式

系統(tǒng)不同,進(jìn)入也不同,本人ubuntu20.04,沒有找到合適的方式,其他的系統(tǒng)自行研究

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多