您好,登錄后才能下訂單哦!
摘要:最近項目組里來了很多新人,對linux分區及各種應用使用的分區不了解,導致測試數據庫時突然發現某一個分區被寫滿了,不得不重裝OS.實在看不下去了,特此分享我的一些利用LVM實現動態擴容的心得,希望對大家有幫助。
知識儲備:
LVM是邏輯盤卷管理(Logical VolumeManager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。通過LVM系統管理員可以輕松管理磁盤分區,如:將若干個磁盤分區連接為一個整塊的卷組(volumegroup),形成一個存儲池。管理員可以在卷組上隨意創建邏輯卷組(logicalvolumes),并進一步在邏輯卷組上創建文件系統。管理員通過LVM可以方便的調整存儲卷組的大小,并且可以對磁盤存儲按照組的方式進行命名、管理和分配
LVM模型如下圖:
1.安裝OS時,選擇手動分區,Device Type選擇LVM。Mysql/Mariadb數據存放在 /var,oracle數據存放在 /home,所以在手動分區時請根據實際磁盤大小,對這兩個應用有針對性的將 /var、/home分的更大。下面分區情況僅作演示用:
2.安裝完OS后進入系統,查看分區,可以看到裝系統時采用LVM的三個分區:/、 /home、/var
3.安裝os時忘記創建root賬戶了,不過沒關系,執行‘sudosu root ',再輸入目前登陸用戶密碼即可獲取部分root權限
4.查看卷組名稱及卷組使用情況 vgdisplay
5.查看當前邏輯卷的空間狀態,如下圖:/ 50G、/var 200G、/home 100G、swap 20G
6.現在感覺/home 100G不夠用,想擴容至120G,新插入一塊20G硬盤;用‘fdisk -l'查看
7.格式化分區操作‘fsdisk/dev/sdb'
8.把新加的磁盤設置為LVM模式
確認分區
9.將新加的分區/dev/sdb1創建為物理卷
10.給卷組‘cl'擴容,將物理卷/dev/sdb1擴展至‘cl'卷組
此時卷組‘cl'有20G空余空間,及/dev/sdb1,將其全部擴展至/home
11.此時20G磁盤雖已擴展至 /home,但并沒寫入文件系統;進入/etc/fstab確認 /home文件系統--->ext4
12.寫入文件系統,使擴容生效
13.如果是xfs文件系統,則用‘xfs_growfs /dev/mapper/cl-home';查看/home,已實現擴容。大功告成!
本次擴容指令匯總:
1.創建分區 #fdisk /dev/sdb
2.創建物理卷 #pvcreat /dev/sdb1
3.查看卷組名稱及使用情況 #vgdisplay
4.將物理卷擴展到卷組 #vgextend cl /dev/sdb1 (此處‘cl'是卷組名稱)
5.將卷組中空閑空間擴展到 /home #lvextend -l +100%FREE /dev/mapper/cl-home
6.刷新文件系統是擴容生效 #resize2fs /dev/mapper/cl-home
使用reiserfs 文件系統代替ext2/ext3 #resize_reiserfs /dev/mapper/cl-home
Centos7 默認文件系統是 ‘xfs',我分區時選的是‘ext4'
項目實戰:
MPX跑磁盤將 /寫滿,導致GUI進不去,用此法給 /動態擴容,GUI又回來了,哈哈哈
擴容前
擴容后
GUI又回來了
另附個人對Linux分區的一些認識:
在linux里一切皆文件,所有設備、磁盤都是以文件形式掛在 ‘ / '。本文中提到的 /var ,如果安裝os時不手動對 /var 分區,系統默認會創建 /var ,但是系統創建的 /var ,最大可用存儲空間為‘ / '的大小。另外,像 /boot 或 /boot/efi 里只存放linux os的引導文件,沒必要分的太大。
總結:安裝os時選擇LVM,當跑數據庫發現分區不夠用時,即可按此法實現動態擴容,而不破壞分區內原有文件,更不用重裝系統,媽媽再也不用擔心我分區大小夠用了!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。