注意:我已经重新安装了系统并正在设置一个缓存系统,所以我不再遇到这个问题
我在SSD上有一个128GB的根分区,在/ data(均为ext4)上安装的HDD上有一个1TB的分区。
我的问题是,当两台设备上的总合用空间超过128GB SSD时,所有内容都会停止工作并显示类似can not write to file, no space on device
的字样。
我的问题是:
这是预期的行为,并且有缓解该问题的方法吗?
编辑:这是一些命令的输出:
$ fstab
/dev/sda2 / ext4 rw,relatime,data=ordered 0 1
/dev/sda1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2
/dev/sda3 none swap defaults,pri=-2 0 0
/dev/sdb1 /data ext4 rw,relatime 0 0
$ df -h
Filesystem Size Used Avail Use% Mounted on
dev 3.9G 0 3.9G 0% /dev
run 3.9G 1.3M 3.9G 1% /run
/dev/sda2 109G 20G 84G 19% /
tmpfs 3.9G 55M 3.8G 2% /dev/shm
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 3.9G 64K 3.9G 1% /tmp
/dev/sda1 549M 55M 494M 11% /boot
tmpfs 785M 16K 785M 1% /run/user/1000
/dev/sdb1 473G 79G 370G 18% /data
$ fdisk -l
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 797F206A-D221-4C61-AF5B-681616314AEA
Device Start End Sectors Size Type
/dev/sdb1 2048 1008842751 1008840704 481.1G Linux filesystem
/dev/sdb2 1008842752 1953523711 944680960 450.5G Linux filesystem
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Disk model: LITEON CV8-8E128
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F404C915-5177-0045-A1CD-A829CA164447
Device Start End Sectors Size Type
/dev/sda1 2048 1128447 1126400 550M EFI System
/dev/sda2 1128448 233248767 232120320 110.7G Linux filesystem
/dev/sda3 233248768 250069646 16820879 8G Linux swap
$ mount | grep /dev/sd
/dev/sda2 on / type ext4 (rw,relatime)
/dev/sda1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/sdb1 on /data type ext4 (rw,relatime)
$ dmesg | grep sdb1
[ 1.787574] sdb: sdb1 sdb2
[ 3.238530] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
[ 446.617492] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
// NOTE: sdb1 was mounted in fstab (3) then unmounted and remounted manually (446)
答案 0 :(得分:0)
似乎您已经安装了仅128 GB的SSD磁盘。 另外,除非使用LVM或软件RAID 0将两个磁盘大小组合到一个块设备中,否则您不能在文件系统的同一路径上安装2个块设备。 另外,我也不建议同时对SSD和HDD磁盘进行上述操作(您将不会使用SSD的优势)
如果您需要进一步的帮助,请发布df -h
和fdisk -l
的输出。
答案 1 :(得分:0)
看起来您已经创建了目录/ data作为挂载点,但是实际上并未将文件系统挂载到该目录。在这种情况下,所有数据将进入您的“父”文件系统。
这是一个非常常见的陷阱。您不会收到任何明显的挂载失败通知,但所有数据都将放到错误的位置。您很快就会用完空间。
您需要找出安装失败的原因。您可以尝试的事情:
mount
列出所有实际安装的设备。
df -h
查看所有设备上的可用空间。 / data应该在那里。
dmesg | grep sdb1
查看系统日志中是否存在与sdb1有关的错误。
另外,请尝试使用mount /data
手动安装,以查看安装时是否有任何错误。