查看虛擬機磁盤空間
目前根目錄只有10G的空間
第一步、給VMware虛擬機增加一塊200G磁盤
打開虛擬機設置-->左下角添加-->選擇硬盤-->磁盤類型選擇“SCSI”-->選擇“創建新虛擬磁盤”-->設置磁盤大小為100G,不要選擇立即創建磁盤空間,剩余兩個選項都可。
注意:以上根據自己的需求,要啥類型的格式
第二步、使用Linux下的fdisk工具進行分區
切換到root用戶
fdisk 命令, fdisk -l : 打印當前的磁盤分區表,這時我們可以看到一個新的設備文件容量為200G,但是分區只有以前的那幾個原有的分區。
[root@hdp2 ~]# fdisk -l
[root@hdp2 ~]# lsblk
鍵入命令: fdisk /dev/sdb 進行磁盤分區, “sdb 就是新添加的硬盤,為SCSI硬盤 ”
鍵入 : m -- “ 列出 fdisk 的幫助 ”
我們在這里是要添加一個新分區,這樣才能被操作系統掛載識別。
鍵入: n -- ”命令 n 用於添加新分區 "
此時, fdisk 會讓你選擇添加為邏輯分區呢(編號從 5 開始)還是主分區(編號 1 到 4 )。
選擇主分區吧,則鍵入 p ;選擇邏輯分區鍵入 l 。
我們選擇主分區於是:
鍵入: p -- " 選擇創建主分區 "
此時, fdisk 會讓你選擇主分區的編號,因為是個新的分區,我們鍵入1.
鍵入: 1
此時, fdisk 又會讓你選擇該分區的開始值這個就是分區的 Start 值( start cylinder );這里最好直接按回車, 如果您輸入了一個非默認的數字,可能會造成空間浪費;
對於分區的 End 值(end cylinder),同樣直接按回車。這時候會顯示出你新建分區的柱面范圍和空間大小。
此時鍵入: w 表示" 保存所有並退出,分區划分完畢 "
[root@hdp2 ~]# fdisk /dev/sdb n p 1 enter enter w
我們的新建分區/dev/sdb1,卻不是LVM的。所以,接下來使用fdisk將其改成LVM的。
[root@hdp2 ~]# fdisk /dev/sdb t 8e w
fdisk -l 查看發現/dev/sdb1 已經支持LVM
[root@hdp2 ~]# fdisk -l
我們現在還不能用這個分區 , 因為我們沒格式化。
第三步、格式化該新添加的分區
格式化指定的分區,CentOS 7系統默認是xfs格式,如果你需要其它的,可以查看mkfs 的幫助。
[root@hdp2 ~]# mkfs -t xfs /dev/sdb1
到此為止,我們就新建了一個分區/dev/sdb1,此時我們已經可以通過掛載來使用這個新的空間,但是對於我,這並不能滿足我的需求,因為服務器的服務程序是在根目錄上的,目前根目錄空間已經使用完畢,所以能把新建的分區使用在根目錄上,分擔根目錄的空間,才能解決問題。
第四步、擴充根分區
在這里要先普及一下lvm的知識
1、什么是LVM?
LVM(Logical Volume Manager)邏輯卷管理是在Linux2.4內核以上實現的磁盤管理技術。它是Linux環境下對磁盤分區進行管理的一種機制。現在不僅僅是Linux系統上可以使用LVM這種磁盤管理機制,對於其它的類UNIX操作系統,以及windows操作系統都有類似與LVM這種磁盤管理軟件。
LVM的工作原理其實很簡單,它就是通過將底層的物理硬盤抽象的封裝起來,然后以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,我們的上層應用是直接訪問文件系統,從而對底層的物理硬盤進行讀取,而在LVM中,其通過對底層的硬盤進行封裝,當我們對底層的物理硬盤進行操作時,其不再是針對於分區進行操作,而是通過一個叫做邏輯卷的東西來對其進行底層的磁盤管理操作。比如說我增加一個物理硬盤,這個時候上層的服務是感覺不到的,因為呈現給上次服務的是以邏輯卷的方式。
2、LVM的優缺點
1.優點
①.可以在系統運行的狀態下動態的擴展文件系統的大小。
在Linux操作系統中我們的磁盤管理機制和Windows上的都差不多,絕大多數都是使用MBR(Master Boot Recorder)都是通過先對一個硬盤進行分區,然后再將該分區進行文件系統的格式化,在Linux系統中如果要使用該分區就將其掛載上去即可,windows的話其實底層也就是自動將所有的分區掛載好,然后我們就可以對該分區進行使用了。
可這樣做的話會帶來很多問題,比如我們使用的一個分區所剩空間大小已經不夠使用了,這個時候我們沒法對分區進行擴充,我們只能通過增加硬盤,然后在新的硬盤上創建分區,對分區進行格式化,然后將之前分區的所有東西都拷貝到新的分區里面才行。但是新增加的硬盤是作為獨立的文件系統存在的,原有的文件系統並沒有得到任何的擴充,上層應用只能訪問到一個文件系統。這樣的方式對個人的電腦來說可能還能接受,但是如果對於生產環境下的服務器來說,這是不可接受的。因為如果要把一個分區的內容都拷貝到另一個分區上去,勢必要首先卸載掉之前的那個分區,然后再對整個分區進行拷貝,如果服務器上運行着一個重要的服務,要求是 7*24 小時運行正常的,那么卸載掉分區這是不可想象的,同時如果該分區保存的內容非常非常的多,那么在對分區進行轉移時時間可能會耗費很久,所以,這個時候我們就會受到傳統磁盤管理的限制,因為其不能夠進行動態的磁盤管理。因此,為了解決這個問題,LVM技術就誕生了!這也是LVM最大的優點。
②.文件系統可以跨多個磁盤,因此文件系統大小不會受物理磁盤的限制。
③.可以增加新的磁盤到LVM的存儲池中。
④.可以以鏡像的方式冗余重要的數據到多個物理磁盤。
⑤.可以方便的導出整個卷組到另外一台機器。
2.缺點
①.在從卷組中移除一個磁盤的時候必須使用reducevg命令(這個命令要求root權限,並且不允許在快照卷組中使用)。
②.當卷組中的一個磁盤損壞時,整個卷組都會受到影響。
③.因為加入了額外的操作,存貯性能受到影響。
3、LVM的用法
1.名詞解釋
如圖所示就是LVM的基本組成
PV(Physical Volume):物理卷,處於LVM最底層,可以是物理硬盤或者分區。
PP(Physical Extend):物理區域,PV中可以用於分配的最小存儲單元,可以在創建PV的時候制定(默認為4MB),如1M, 2M, 4M, 8M, 32M, 64M…組成同一VG中所有PV的PE大小應該相同。
VG(Volume Group):卷組,建立在PV之上,可以含有一個到多個PV。
LV(Logical Volume):邏輯卷,建立在VG之上,相當於原來分區的概念。不過大小可以動態改變。
用lvs命令查看當前邏輯卷信息。
[root@hdp2 ~]# lvs [root@hdp2 ~]# lvdisplay
用pvcreate命令在新建的分區上創建PV(physical volume)
[root@hdp2 ~]# pvcreate /dev/sdb1
在這里是因為這兩個分區之前被格式化為xfs系統了,所以這里要把它變為邏輯卷需要輸入Y確認更改
創建完后我們可以用pvs查看或者pvdisplay查看詳細信息
[root@hdp2 ~]# pvs
[root@hdp2 ~]# pvdisplay
上圖中用pvs命令查看時我們發現我們新創的PV卷組和以前創建的有點不同,它們的Attr部分不一樣,這是因為我們新創建的PV卷組還沒有激活,a---表示已激活的PV卷組。VG那一欄是所屬的VG組,因為我們還沒有划分VG組,所以這一欄也是空。
接下來就是將新創建的PV加入到已存在的VG中
[root@hdp2 ~]# vgextend centos /dev/sdb1
其中centos是當前需要擴充的lvm組名,可以通過df -h查看,例如我的是: /dev/mapper/centos/root
查看VG信息
[root@hdp2 ~]# vgdisplay
主要查看Free PE / Size 51200 / 200 GB,說明我們最多可以有200G的擴充空間
最后給根分區增加空間,將卷組的剩余空間(200G)添加到邏輯卷 /dev/centos/root
[root@hdp2 ~]# lvextend -l +100%FREE /dev/centos/root
上面這些只是對邏輯卷擴容,還需要同步到文件系統,實現對根目錄的擴容
[root@hdp2 ~]# xfs_growfs /dev/centos/root
然后查看掛載情況
[root@hdp2 ~]# df -h (df -Th 查看類型)
發現根目錄的空間已經擴展到了 209G,大功告成~