Ubuntu系統(tǒng)下擴(kuò)展LVM根目錄的方法
前言
最近手頭一臺(tái)運(yùn)行在 Hyper-V 下面抓數(shù)據(jù)的服務(wù)器 (Ubuntu 16.04) 磁盤(pán)空間不夠了,之前也沒(méi)有把數(shù)據(jù)單獨(dú)放到一個(gè)分區(qū),所以只能想辦法把根目錄給搞大一點(diǎn)。之前沒(méi)有處理過(guò)這樣的問(wèn)題,網(wǎng)上搜了很多資料,現(xiàn)在把拓展方法記錄,分享出來(lái)。
建議在操作之前做好備份工作
步驟概覽
- 調(diào)大物理磁盤(pán)
- 確定要操作的磁盤(pán)
- 擴(kuò)展 LVM 邏輯分區(qū)所在的物理拓展分區(qū)
- 新增 LVM 邏輯分區(qū)
- 新分區(qū)合并到相應(yīng) Volumn Group
- 更新文件系統(tǒng)
調(diào)大物理磁盤(pán)
虛擬機(jī)關(guān)機(jī),然后直接在虛擬機(jī)管理里面操作。
現(xiàn)在把磁盤(pán)從 100G 調(diào)整到了 300G
確定要操作的磁盤(pán)
先看下磁盤(pán)使用情況,運(yùn)行命令
root@vm003:~# df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 798M 8.6M 789M 2% /run /dev/mapper/Ubuntu-root 94G 88G 1.9G 98% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 472M 382M 66M 86% /boot tmpfs 100K 0 100K 0% /run/lxcfs/controllers tmpfs 798M 0 798M 0% /run/user/0
雖然我們已經(jīng)把物理磁盤(pán)調(diào)整到了 300G,但是根目錄還是100G的樣子,已用 98%
運(yùn)行命令
root@vm003:~# fdisk -l Disk /dev/sda: 300 GiB, 322122547200 bytes, 629145600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xa88f1366 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 1001470 209713151 208711682 99.5G 5 Extended /dev/sda5 1001472 209713151 208711680 99.5G 8e Linux LVM Partition 2 does not start on physical sector boundary. Disk /dev/mapper/Ubuntu-root: 95.5 GiB, 102563315712 bytes, 200318976 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/mapper/Ubuntu-swap_1: 4 GiB, 4294967296 bytes, 8388608 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes
可以看到 /dev/sda 已經(jīng)確實(shí)被調(diào)整到了300GiB,只是系統(tǒng)還沒(méi)用到。
也知道了我們要操作 /dev/sda
擴(kuò)大 LVM 邏輯分區(qū)所在的物理分區(qū)
運(yùn)行命令
root@vm003:~# parted /dev/sda GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print # 查看分區(qū) Model: Msft Virtual Disk (scsi) Disk /dev/sda: 322GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 512MB 511MB primary ext2 boot 2 513MB 107GB 107GB extended 5 513MB 107GB 107GB logical lvm (parted) resizepart 2 # 調(diào)整 sda2 分區(qū)大小 End? [107GB]? -0 # 直接充滿 (parted) print # 再次查看 Model: Msft Virtual Disk (scsi) Disk /dev/sda: 322GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 512MB 511MB primary ext2 boot 2 513MB 322GB 322GB extended 5 513MB 107GB 107GB logical lvm (parted) q # 完成退出 Information: You may need to update /etc/fstab.
現(xiàn)在我們已經(jīng)把 /dev/sda2 給拓展出來(lái)了
新增 LVM 邏輯分區(qū)
運(yùn)行命令
root@vm003:~# fdisk /dev/sda Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p # 查看現(xiàn)在的分區(qū)情況 Disk /dev/sda: 300 GiB, 322122547200 bytes, 629145600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xa88f1366 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 1001470 629145599 628144130 299.5G 5 Extended /dev/sda5 1001472 209713151 208711680 99.5G 8e Linux LVM Partition 2 does not start on physical sector boundary. Command (m for help): n # 新增分區(qū),選擇邏輯分區(qū),起止點(diǎn)看情況輸入,默認(rèn)值是填充滿整個(gè)磁盤(pán) All space for primary partitions is in use. Adding logical partition 6 First sector (209715200-629145599, default 209715200): Last sector, +sectors or +size{K,M,G,T,P} (209715200-629145599, default 629145599): Created a new partition 6 of type 'Linux' and of size 200 GiB. Command (m for help): p # 查看新增的分區(qū) Disk /dev/sda: 300 GiB, 322122547200 bytes, 629145600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xa88f1366 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 1001470 629145599 628144130 299.5G 5 Extended /dev/sda5 1001472 209713151 208711680 99.5G 8e Linux LVM /dev/sda6 209715200 629145599 419430400 200G 83 Linux Partition 2 does not start on physical sector boundary. Command (m for help): t # 改變分區(qū)類(lèi)型為 Linux LVM Partition number (1,2,5,6, default 6): 6 # sda6 Partition type (type L to list all types): 8e # LVM 類(lèi)型的 Id 代碼 Changed type of partition 'Linux' to 'Linux LVM'. Command (m for help): p # 再次查看分區(qū)情況 Disk /dev/sda: 300 GiB, 322122547200 bytes, 629145600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xa88f1366 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 1001470 629145599 628144130 299.5G 5 Extended /dev/sda5 1001472 209713151 208711680 99.5G 8e Linux LVM /dev/sda6 209715200 629145599 419430400 200G 8e Linux LVM Partition 2 does not start on physical sector boundary. Command (m for help): wq # 確認(rèn)沒(méi)有問(wèn)題,保存退出 The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
新分區(qū)合并到相應(yīng) Volumn Group
運(yùn)行命令
root@vm003:~# vgdisplay --- Volume group --- VG Name Ubuntu System ID Format lvm2
可以看出我們要操作的VG Name 為 Ubuntu,記錄下來(lái)。
接著運(yùn)行命令
root@vm003:~# vgextend Ubuntu /dev/sda6 # /dev/sda6 是剛剛增加的 LVM 分區(qū) Device /dev/sda6 not found (or ignored by filtering). Unable to add physical volume '/dev/sda6' to volume group 'Ubuntu'.
呃,,,提示沒(méi)有找到 /dev/sda6 這個(gè)設(shè)備,還是重啟一下好了。
root@vm003:~# reboot
重啟后再次執(zhí)行
root@vm003:~# vgextend Ubuntu /dev/sda6 # /dev/sda6 是剛剛增加的 LVM 分區(qū) Physical volume "/dev/sda6" successfully created Volume group "Ubuntu" successfully extended
再查看一下 Volumn Group 的狀態(tài),運(yùn)行命令
root@vm003:~# vgs VG #PV #LV #SN Attr VSize VFree Ubuntu 2 2 0 wz--n- 299.52g 200.00g
確實(shí)加進(jìn)去了。
然后運(yùn)行
root@vm003:~# lvdisplay --- Logical volume --- LV Path /dev/Ubuntu/root LV Name root VG Name Ubuntu
我們知道了 Ubuntu VG 的 LV Path 是 /dev/Ubuntu/root,記錄下來(lái)。
然后運(yùn)行
root@vm003:~# lvresize -l +100%FREE /dev/Ubuntu/root # /dev/Ubuntu/root 是 LV Path Size of logical volume Ubuntu/root changed from 95.52 GiB (24453 extents) to 295.52 GiB (75652 extents). Logical volume root successfully resized.
這就成功啦。
警告: 如果操作時(shí)出現(xiàn)下面這樣的 warning,就說(shuō)明現(xiàn)在 logic volumn 的總大小還不對(duì),resize 不但不增加空間,反而在縮小空間,如果繼續(xù)操作下去,必將丟失數(shù)據(jù)。應(yīng)立即停止!按 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]*
更新文件系統(tǒng)
最后一步,運(yùn)行命令
root@vm003:~# resize2fs -p /dev/mapper/Ubuntu-root # /dev/mapper/Ubuntu-root 是從 df 命令看到的文件系統(tǒng)信息 resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/mapper/Ubuntu-root is mounted on /; on-line resizing required old_desc_blocks = 6, new_desc_blocks = 19 The filesystem on /dev/mapper/Ubuntu-root is now 77467648 (4k) blocks long.
這個(gè)過(guò)程可能會(huì)花幾分鐘時(shí)間,耐心等待就好了。
然后運(yùn)行 df 命令查看磁盤(pán)使用
root@vm003:~# df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 798M 8.6M 789M 2% /run /dev/mapper/Ubuntu-root 291G 88G 191G 32% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 472M 382M 66M 86% /boot tmpfs 100K 0 100K 0% /run/lxcfs/controllers tmpfs 798M 0 798M 0% /run/user/0
大功告成!
參考:
http://chabaoo.cn/article/139565.htm
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Linux系統(tǒng)用戶(hù)管理命令小結(jié)
這篇文章主要介紹了Linux系統(tǒng)用戶(hù)管理命令小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Linux關(guān)于透明大頁(yè)機(jī)制的介紹
這篇文章介紹了Linux中的透明大頁(yè)機(jī)制,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02Nginx+PHP+MySQL雙機(jī)互備、全自動(dòng)切換方案
在生產(chǎn)應(yīng)用中,某臺(tái)“Nginx+PHP+MySQL”接口數(shù)據(jù)服務(wù)器,扮演的角色十分重要,如果服務(wù)器硬件或Nginx、MySQL發(fā)生故障,而短時(shí)間內(nèi)無(wú)法恢復(fù),后果將非常嚴(yán)重。為了避免單點(diǎn)故障,我設(shè)計(jì)了此套方案,編寫(xiě)了failover.sh腳本,實(shí)現(xiàn)了雙機(jī)互備、全自動(dòng)切換,故障轉(zhuǎn)移時(shí)間只需幾十秒。2008-12-12Linux內(nèi)核設(shè)備驅(qū)動(dòng)之內(nèi)核中鏈表的使用筆記整理
今天小編就為大家分享一篇關(guān)于Linux內(nèi)核設(shè)備驅(qū)動(dòng)之內(nèi)核中鏈表的使用筆記整理,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12Linux多線程環(huán)境下 關(guān)于進(jìn)程線程終止函數(shù)總結(jié)
下面小編就為大家?guī)?lái)一篇Linux多線程環(huán)境下 關(guān)于進(jìn)程線程終止函數(shù)總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01