值得注意的是,如果用 MB/GB 這樣的單位,磁盤 sector 的選取會有誤差的。parted 會為你選最近的 sector,但未必精確。比如 unit 為 MB,那么可能產生 +-500KB 的誤差;如果是 GB,那就可能 +-500MB 的誤差,這就無法容忍了。所以如果是’創建分區’這樣的操作,建議用 ‘MiB’ 這樣的單位,而不是 ‘MB’。’MiB’ 會是一個精確值,parted 不會像對待 ‘MB’ 那樣去找它最近的單元。
  • resize <minor> <start> <end> 對指定 minor 號(或 Number 號)的分區從 start 位置到 end 位置 這里 start/end 可以是 xxxMB,也可以是負值,表示從磁盤末尾往前多少的位置,比如 -0 就是指到磁盤的末尾。
  • 更多命令詳情請參考: http://www.gnu.org/software/parted/manual/html_chapter/parted_toc.html

    實戰:

    操作前,print 結果如下。現有磁盤62.3G,只分給 extended 8G,還有50多G根本沒分配。

    Number Start End  Size Type  File system Flags
    1  1049kB 256MB 255MB primary ext2   boot
    2  257MB 8589MB 8332MB extended
    5  257MB 8589MB 8332MB logical    lvm

    我希望把這50多G全部用于擴大extended。

    用命令:

    resize 2 257MB -0

    其實,只需輸入 resize 2 ,回車,剩下的兩個參數,parted 會通過交互的方式讓你填寫的。-0 表示到那個分區的磁盤末尾。

    現在再 print 看一下,

    Number Start End  Size Type  File system Flags
    1  1049kB 256MB 255MB primary ext2   boot
    2  257MB 62.3GB 62.0GB extended
    5  257MB 8589MB 8332MB logical    lvm

    extended 區已經擴大成功了。

    extended 區只是相當于“一塊物理硬盤”,想把增加出來的空間用上,還要把 Number 為 5 的 lv 擴大。

    而 logic volumn 的擴大依賴于它所在的 volumn group 的大小。因為 logic volumn 是從 volumn group 里分出來的,如果 volumn group 不變大,那么 logic volumn 是無法超過 volumn group 的。所以 真正是應該把空間加到 volumn group 上去 。

    PART2

    要增加 volumn group 的大小,先用 fdisk 在 extended 上,利用剛才增加但還未分配出去的磁盤空間創建出一個新分區。通過 fdisk <disk_dev_name> 進入交互模式,可以通過命令 m 查看幫助。首先,輸入 n 創建新分區,然后選擇 l 設置新分區為邏輯分區,接下來依次設置分區的起始、終止位置(默認即完全利用這塊磁盤上剩余的所有空間,所以默認即可)。創建出的分區,編號為 6。可以用命令 p 看一下。

     Device Boot  Start   End  Blocks Id System
    /dev/vda1 *  2048  499711  248832 83 Linux
    /dev/vda2   501758 121634815 60566529 5 Extended
    /dev/vda5   501760 16775167  8136704 8e Linux LVM
    /dev/vda6  16777216 121634815 52428800 83 Linux

    接下來,由于我們要用 LVM 來管理這個新分區,我們需要把新分區的管理系統從 Linux 改為 Linux LVM。在交互模式下,輸入命令 t,然后選擇剛才創建的 6,輸入 8e (Linux LVM 的代號)。最后,我們要把剛才的這些操作真正寫入硬盤,輸入命令 w。

    至此,我們通過 fdisk -l 已經可以看到 /dev/vda6 被創建出來了。

    再執行

    vgextend <your_vg_name> /dev/vda6

    把新分區加進 volumn group (VG Name 可通過 vgdisplay 查到)。

    現在用 vgs 查看 volumn group 的狀態,發現 volumn group 已經變大。

     VG   #PV #LV #SN Attr VSize VFree
     jiang51-vg 2 2 0 wz--n- 57.75g 50.03g

    然后把這個 volumn group 里面的 logic volumn 變大。

    命令(最后那個’Logic Volumn name’可通過 lvdisplay 查到):

    lvresize -l +100%FREE <Logic Volumn name>

    警告: 如果操作時出現下面這樣的 warning,就說明現在 logic volumn 的總大小還不對,resize 不但不增加空間,反而在縮小空間,如果繼續操作下去,必將丟失數據。應立即停止!按 n 取消。

    WARNING: Reducing active and open logical volume to 32.00 MiB
    THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce root? [y/n]

    最后,要更新 logic volumn 上的文件系統,不然從 df 看出文件系統是不知道 logic volumn 變大的。

    用命令(其中的 file_system_name 通過 df 找到):

    resize2fs -p <file_system_name>

    這樣,磁盤 extended 分區的擴容終于完成了。

    非LVM

    fdisk /dev/sda
    d
    n
    p
    1
    
    w
    resize2fs /dev/sda1
    
    df -h

    最重要的一步:“刪除現在的分區,重新分區” 按d刪除現在的分區1,注意:刪除后千萬不要按w保存!直接按n創建新的分區,然后從原有的柱面開始,一直分到最后的尺寸(默認值兩次回車即可,如果之前的分區不是從第一柱面開始,則需要記錄之前分區的起始柱面),新的分區操作完畢后,按w保存。

    贊(0)
    聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » 動態在線擴容root根分區大小

    登錄

    找回密碼

    注冊