我是 LVM 新手,对此感到非常困惑:
我正在将一个大文件传输到一个分区,我认为该分区上有大约 1.5 TB 的空间。在传输接近结束时,rsync 退出并出现错误,声称分区已满。我调查并发现以下内容:
$ sudo lvm lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
home system -wi-ao 97.66G
log system -wi-ao 48.81G
log.audit system -wi-ao 9.75G
root system -wi-ao 341.59G
swap system -wi-ao 4.88G
temp system -wi-ao 97.66G
var system -wi-ao 1.46T
这似乎意味着 /var (我要传输到的分区)具有我期望的存储量。但是,然后我看到:
$ sudo df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-root
331G 1.3G 313G 1% /
/dev/mapper/system-temp
95G 188M 90G 1% /tmp
/dev/mapper/system-var
95G 90G 0 100% /var
/dev/mapper/system-home
95G 188M 90G 1% /home
/dev/mapper/system-log
48G 264M 45G 1% /var/log
/dev/mapper/system-log.audit
9.5G 340M 8.7G 4% /var/log/audit
/dev/sda1 99M 25M 70M 26% /boot
tmpfs 8.0G 0 8.0G 0% /dev/shm
我猜这与在某个时刻调整音量大小有关。虽然我有可靠的备份,但我不想在获取备份和恢复期间中断服务。因此,是否有办法使操作系统看到的文件系统与根据lvm的可用空间相匹配而不丢失数据?
答案1
如果这是一个 ext3 文件系统,您可以通过运行以下命令将其扩展到 LV 大小:
resize2fs /dev/system/var
如果不是 ext3,请使用适当的工具,例如,xfs_growfs /var
如果它是 XFS。
这绝对没有什么好害怕的。十多年来,我在多个操作系统上扩展了数百个文件系统,但我从未见过该操作导致任何类型的中断。