我們在使用VPS主機時常會遇到增加硬碟容量的情況,像阿里雲、騰訊雲、Linode這樣的都是可以直接追加硬碟的,如果用的是SolusVM VPS主機則可以直接在SolusVM中增加硬碟容量。但是硬碟容量擴大後,還需要我們手動掛載硬碟分割區。 給Linux VPS主機硬碟擴充一般來說有兩種方式,一種是常用的,即將硬碟分割區掛載到某一個目錄下;另一種則是直接在原來的硬碟上分割區上擴充。第一種擴容硬碟的方式操作起來簡單,但是後期如果想要再增加硬碟的話面臨著重新增加分割區的麻煩。 第二種方式比較適合經常擴容硬碟的用戶,可以實現動態擴容且不影響原有的目錄結構。本篇文章就來分享一下利用fdisk指令給Linux VPS主機硬碟擴容方法,fdisk指令用來觀察硬碟實體使用情況,也可對硬碟分割區。它採用傳統的問答式介面,操作起來有點麻煩。 更多的關於Linux VPS主機操作教學這裡還有:
- Linux系統磁碟空間佔滿的解決方法-No Space Left on Device錯誤
- aaPanel寶塔免費VPS控制面板國際版-自動申請SSL多PHP版本共存
- OneDrive變身外鏈網磁碟-Aria2+Aria2Ng+OneIndex自動上傳OneDrive
一、fdisk指令
fdisk指令語法:fdisk(选项)(参数)選項:
-b<分区大小>:指定每个分区的大小; -l:列出指定的外围设备的分区表状况; -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块; -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址; -v:显示版本信息。參數: 設備檔案:指定要進行分區或顯示分區的硬碟設備檔案。 範例: 首先選擇要進行操作的磁碟:
[root@localhost ~]# fdisk /dev/sdb輸入
m
列出可以執行的指令:command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition 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)命令說明如下:
a 切換可引導標誌b 編輯bsd disklabel c 切換dos相容性標誌d 刪除分割區l 列出已知的分割區類型m 列印此選單n 新增一個分割區o 建立一個新的空DOS分割區表p 列印分割區表q 退出而不儲存變更s 建立一個新的空的Sun磁碟標籤t 變更分割區的系統ID u 改變顯示/輸入單位v 驗證分割區表w 將資料表寫入磁碟並退出x 額外功能(專業)
二、Linux VPS硬碟分區
以下操作就是使用fdisk指令進行磁碟:/dev/vda→檢視分割區→新建分割區→設定分割區為3(原來已經有了1和2了)→檢視分割區。 (點擊放大)三、Linux VPS硬碟掛載
命令一:格式化分割區mkfs.ext4 /dev/vda3 //格式化分区(也可先选ext3)
命令二:開機自動掛載vim /etc/fstab
加入:/dev/sdb1(磁盘分区) /data1(挂载目录-需要提前创建好) ext4(文件格式,也可写ext3)defaults 0 0
你也可以照著你來的文件的格式來寫,這樣就不會錯了。如下圖: 指令三:掛載所有目錄mount -a(注意是英文的-)
掛載成功。 四、Linux VPS硬碟動態擴容
上面我們透過硬碟掛載,成功地將新分割區掛載到了伺服器的某一個目錄下,這樣存在一個問題就是後期如果還要增大硬碟的話,又得掛載另一個目錄,操作簡單,但實用性不強。 按照上面給硬碟分割區做好後,輸入指令t,再輸入:8e,這時將分割區格式轉換為LVM了。如下圖: 儲存分割區後重啟好了VPS後,建立邏輯捲和邏輯磁碟區組並激活,指令如下:pvcreate /dev/vda3 //创建物理卷
vgcreate qyfoutt /dev/vda3 //创建逻辑卷组
vgchange -ay qyfoutt //激活逻辑卷组
vgdisplay qyfoutt | grep "Total PE" //查看该卷组所有的PE
lvcreate -l 17919 -n qimm qyfoutt //创建逻辑卷
mkfs.ext4 /dev/qyfoutt/qimm //格式化逻辑卷
這裡我建立一個名為qyfoutt的邏輯磁碟區組,共70GB可供分配。 然後創建了一個名為qimm的邏輯卷,將70GB都賦予它。現在我們就可以像上面那樣編輯/etc/fstab 文件,新增加的/dev/qyfoutt/qimm 分割區掛載到某一個目錄下了。格式如下:/dev/qyfoutt/qimm /ttfou ext4 defaults 0 0
動態擴容。 假如又增加了硬碟,這裡我們就可以將新的硬碟空間增加在原來的硬碟上了。按照上面的方法新建分割區(這裡我新建分割區是vda4)並設定為LVM格式。 使用以下方法擴容:pvcreate /dev/vda4 //创建物理卷
vgextend qyfoutt /dev/vda4 //将新硬盘加入卷组
vgdisplay qyfoutt | grep "Total PE" //查看所有PE
lvresize -l 30718 /dev/qyfoutt/qimm //重新规定大小
resize2fs /dev/qyfoutt/qimm //扩容
重啟後我們可以看到硬碟在原來的基礎上擴容成功了。 五、同一個分割區掛載多個目錄
上面我們用到的方法是將分割區掛載在一個目錄下,如果想要將一個分割區掛載多個目錄下,可以使用bind mount指令。mount /dev/vda4 /data/wwwroot
mount --bind /data/wwwroot /home
上述指令我先將分割區vda4掛載在/data/wwwroot目錄下,然後bind mount到home目錄下,這樣home目錄和wwwroot目錄都使用了vda4分割區了。如果要取消掛載就可以使用下列命令:umount /home
umount /dev/vda3