LVM動態擴展根分區實戰

前言

最近希望在工作電腦上下載android源碼,但因為平時工作的電腦運行的是win7系統,無法下載android源碼,所以想到了在VirtualBox上的Linux系統上下載。

不過,android源碼體積隨著版本升高已經越來越大了,一不小心就占據了幾十個G,當初在虛擬機上裝的系統只預留了20G左右,并且是使用了LVM技術的,還是掛載在根分區。

無奈我又不想重新裝一個系統,憑著對Linux的熱情和執著,一番搗鼓之后,終于得償所愿了。在這里記錄一下,希望給以后遇到同樣問題的人參考參考,再這里重新演示整個過程。(換回了自己的電腦)

環境

  • OS:OSX10.12

  • VirtualBox版本:5.1.14

  • Linux發行版:linux mint 17.3

操作


  1. 增大虛擬硬盤

    使用VirtualBox提供了命令行工具VBoxManage,*unix系統應該在安裝的時候直接加入了環境變量了,如果是源碼安裝或者win系統,這命令在安裝目錄下可以找到,首先列出已經安裝的虛擬系統的硬盤:VBoxManage list hdds

    2.png

    其中uuid就是這個虛擬硬盤的標識符,然后通過modifymedium命令就可以改變硬盤的大小:VBoxManage modifymedium uuid --resize xxxx


    1.png

    現在,我把虛擬硬盤的容量擴大到14000mb

  2. 添加物理卷(PV)

    列出現在已經有的PV:sudo pvs

    8.png

    可以看到現在只有一個PV

    增加PV,需要用到磁盤管理工具fdisk,具體步驟

    • sudo fdisk /dev/sda (/dev/sda為對應的設備名,也可能是其它名字)
    • n新建分區
    • 一直回車選擇默認
    • t改變分區的system id
    • 選擇分區號
    • 設置分區system id為8e,其實就是設置分區類型為Linux LVM,通過sudo fdisk -l命令可以看到分區的類型
    12.png

    下一步,重啟使分區表生效


    3.png

    現在,用剛才新建的分區 /dev/sda4 新建PV

    sudo pvcreate /dev/sda4

    sudo pvs

    4.png

    PV已經準備好了

  3. 擴展卷組(VG)

    sudo vgextend mint-vg /dev/sda4

    mint-vg是卷組名,裝系統的時候選LVM方式作為磁盤分區的時候默認生成的


    5.png

    現在卷組已經擴展成功了

  4. 擴展邏輯卷(LV)

    查看VG的剩余空間

    sudo vgdisplay

    6.png

    留意到Free PE一行,總共有435個空閑的PE,1.7G的空閑空間,也就是之前擴展卷組的大小
    sudo lvextend -l +435 /dev/mint-vg/root
    -l +435 表示增加435個PE,即全部剩余空間
    /dev/mint-vg/root 是LV path,可以通過lvdisplay命令查看

    7.png

    邏輯卷也已經擴展成功了

  5. 使改變生效

    現在用df -h命令查看磁盤分區的大小,可以看到根分區還是沒有改變的

    9.png

    sudo resize2fs /dev/mint-vg/root
    10.png

    這時再看,已經生效了
    然而,在這個過程中,我遇到過一直擴展不生效的情況,看下面的重點部分

重點

如果邏輯卷擴展后沒有生效,則需要進入Resuce模式運行resize2fs命令來改變文件系統的大小

進入Resuce模式(linux mint):重啟過程中不斷按esc進入系統選擇界面,在選擇系統界面按e,進入啟動參數設置界面,在linux開頭這行最后增加“init=/bin/bash”,按ctrl+x啟動系統


11.png

如果提示Read-only file system

將系統掛載成read-write:mount / -o remount,rw

這時再resize2fs便可

參考

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容