平常運行中,容器服務所在目錄因爲container-log、image的增長鬚要佔用大量的磁盤空間,因此對/var/lib/docker/目錄進行擴容掛載LVM數據盤。docker
# sudo fdisk -l - 會出現相應的磁盤信息,針對增長的數據盤進行分區,格式化
# sudo fdisk /dev/vdb m 查看命令幫助 n 添加新的分區 # 根據實際狀況對磁盤分區 ## 更改分區編號 將分區類型改爲Liunx lvm卷才能建立LVM t 表示更改分區編號 L 表示查看全部編號 8e 表明LVM w 用來保存並退出
# sudo fdisk -l 查看分區狀況 建立Physical Volume(PV) # sudo pvcreate /dev/vdb1 建立pv # sudo pvdisplay 查看pv信息 #建立Volume Group(VG) # sudo vgcreate vg1 /dev/vdb1 建立vg # sudo vgdisplay 查看vg信息 #建立Logical Volumes(LV) # sudo lvcreate -n lv1 -l 100%VG vg1 #將全部的vg1的內存都給lv1 邏輯卷 # sudo lvdisplay
# sudo mkfs.ext4 /dev/vg1/lv1 # sudo blkid |grep 'lv1' # 查看UUID,在/etc/fstab 文件中填寫
- 文件介紹 fstab包含了存儲設備及文件系統的相關信息,用於自動掛載系統格式的硬盤、分區、可移動設備和遠程設備等 - 文件字段解釋 # fs mountpoint type opts dump/pass /dev/sda1 / ext4 default 0 0 <fs>--file systems: 掛載設備,告知分區的名字。可使用UUID代替 <mountpoint>: 掛載路徑 <type>: 文件系統類型,典型示例:ext二、ext三、ext四、xfs等 <opts>: 文件系統參數,可使掛載設備在開機自啓、限制對掛載分區讀寫權限,具體參數可google搜索 <dump>:備份命令,經過dunp utility用來決定是否作備份,經過檢查entry並用數字來決定是否對文件系統進行備份。容許數字是0或1. 0就會忽略不備份,1,dump會作一個備份 <pass>: 是否fsck檢查扇區,0表示不檢驗,1表示最先檢驗,2也是要檢驗,可是1是最先檢驗的
1.首先保證生產環境上可以正常對外提供服務的狀況下,中止Docker daemon,以此來保證數據的完整性,執行命令 # sudo systemctl stop docker 2.將Docker默認數據目錄下的數據備份,執行命令 # sudo mv /var/lib/docker /var/lib/docker_data 3.而後把新的格式化好的磁盤掛載到/var/lib/docker目錄中, # sudo vim /etc/fstab UUID=****** /var/lib/docker ext4 defaults 0 0 4.建立對應的目錄 # sudo mkdir /var/lib/docker 5.掛載磁盤 # sudo mount -a 6.把以前備份的Docker數據移動到新的磁盤上,執行命令 # sudo mv /var/lib/docker_data/* /var/lib/docker/ 7.啓動Docker,並檢查數據位置,執行命令 # sudo systemctl start docker 8. 執行命令df 查看新掛載信息 9.執行命令docker ps,查看容器是否丟失,並根據實際狀況對未啓動的容器start