一、devmapper滿了
當使用/dev/mapper創建虛擬塊設備時,可能會出現/dev/mapper滿了的情況。這是因為虛擬塊設備會預留空間,導致/dev/mapper分區的可用空間減少。解決方法是清理虛擬塊設備或者增加/dev/mapper的分配空間。
# 清理虛擬塊設備
$ dmsetup ls
$ dmsetup remove [device-name]
# 增加/dev/mapper的分配空間
$ lvextend -l +100%FREE /dev/mapper/vg01-lv01
二、devmappercentos-root滿了
當/dev/mapper/centos-root滿了,會導致系統無法啟動或無法正常工作。此時可以使用如下命令來排查磁盤空間佔用情況。
$ df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 48G 48G 0 100% /
如果是由於日誌文件過多導致的磁盤空間不足,可以通過清空日誌文件來釋放磁盤空間。
# 查看日誌文件大小
$ sudo du -sh /var/log/
# 清空日誌文件
$ sudo truncate -s 0 /var/log/*
三、devmapperr shm
當使用內存共享或IPC時,可以創建/devmapperr shm設備來實現高效的內存共享。
# 創建/devmapperr shm設備
$ sudo ipcmk -M 512000 -Q -name my_shared_memory
這樣就會在/dev/mapper目錄下創建名為my_shared_memory的設備。
四、devmapperroot滿了
如果/dev/mapper/root滿了,那麼可能是由於日誌文件或者系統更新文件導致的。
# 查找最大的文件
$ sudo find / -size +1G
# 清理不需要的文件
$ sudo rm -rf /path/to/unneeded/file
五、devmapper thin pool
Thin pool是指一種可以節省磁盤空間的LVM,其原理是在thin pool創建時,只佔用少量空間,隨着數據的寫入需要,再分配磁盤空間。
# 創建thin pool
$ lvcreate -L 100G -T vgpool/thinpool
# 創建邏輯卷
$ lvcreate -n lv1 -V 10G vgpool/thinpool
# 卸載邏輯卷
$ umount /dev/mapper/vgpool-lv1
# 刪除邏輯卷
$ lvremove /dev/mapper/vgpool-lv1
# 刪除thin pool
$ lvremove /dev/mapper/vgpool-thinpool
六、devmapper not config
當/dev/mapper未配置時,無法使用虛擬塊設備。
# 查看未配置的虛擬塊設備
$ dmsetup ls
# 配置虛擬塊設備
$ vgscan
$ lvscan
七、devmappear not configured
當/dev/mapper未配置的虛擬塊設備被刪除後,需要重新配置。
# 查看未配置的虛擬塊設備
$ dmsetup ls
# 配置虛擬塊設備
$ vgscan
$ lvscan
八、devmappercentosroot滿了
當/dev/mapper/centos-root滿了,可能是由於log和cache文件過多,可以通過清理log和cache文件來解決。
# 查看log和cache文件
$ sudo du -sh /var/log/
$ sudo du -sh /var/cache/
# 清理log和cache文件
$ sudo rm -rf /var/log/*
$ sudo rm -rf /var/cache/*
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238893.html