[Linux] 替虛擬主機上的Ubuntu擴充 LVM 空間

前提

最近在主機上架設了Docker,因為我需要每天下班後讓電腦排程自動去網路上抓特定最新資料,想了想,還是在linux上來處理類似服務比較方便。由於需要安裝 Python和相關套件,為了避免影響現有主機上的服務,乾脆架設Docker服務,然後容量就不太夠了。

檢查

  • 我已提前在VM擴充空間,從100GB擴充到160GB,接下來要在ubuntu20.04裡設定
  • 檢查PV 目前有多少空間
$ pvdisplay
  • 檢查VG 空間
$ vgdisplay
  • 看一下最後的LV 空間
$ lvdisplay

開始

擴充順序:PV 100GB->160GB => VG => LV

$ parted
(parted) print          #列出目前狀態
(parted) resizepart     #剛剛狀態顯示number 2可以擴充,選 2   
(end) 160GB             #剛剛print 有顯示 磁碟 /dev/sda: 最大可以多少
(parted) resizepart     #選 5 擴充LVM
(end) 160GB             
(parted) print        
(parted) quit  

$ pvdisplay             #看一下pv最新空間大小,順便查一下是sda??
$ pvresize /dev/sda5    #對sda5進行resize操作
$ pvdisplay             #pv應該順利擴增到160GB了

$ vgdisplay             #查看一下:PV上的VG容量也變大了

$ lvdisplay             #檢查 LV狀態
$ lvextend -L 144.56G /dev/Coolsea-vg/root    
                        #擴增空間,無法輸入滿160G是正常的
                        #這數字就是lvdisplay原本size + vgdisplay裡面看到的free size
$ lvdisplay             #再次檢查,應該成功了

$ resize2fs /dev/Coolsea-vg/root  #跑完resize2fs就可以收工。

[Linux] MySQL 的 bin log 太多如何清除?

如果你想刪除 7 天前的檔案指令是:

#mysql -u root  -p

> PURGE BINARY LOGS BEFORE DATE(NOW() – INTERVAL 7 DAY) + INTERVAL 0 SECOND;

如果要自動刪除超過七天的 log bin

$nano /etc/my.cnf

[mysqld]
expire-logs-days=7

設完 my.cnf 後記得重啟 service 讓 mysql daemond 吃 ini 的設值

如果要完全關掉的話,在最前面加入 # 字號

# log-bin=mysql-bin