用了一段时间Gcloud, 突然报出 No enough space. 一开始不是很相信居然磁盘这么快就满了。用 df -h
check 一下果然满了
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 900K 1.6G 1% /run
/dev/sda1 39G 39G 0 100% /
tmpfs 7.9G 0 7.9G 0% /dev/shmtmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/1016
注 df -i
是用来看 inodes 情况的,和文件大小不一样
不是很懂Ubuntu系统,费了一番周折添加了一个persistant disk.
主要思路是跟着官方教程
在网页界面添加完 persistent disk 之后,
先看一下磁盘情况,
sudo lsblk
格式化硬盘
sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/[DEVICE_ID]
# [DEVICE_ID] 需要被替换
一般是 sdb, 如下:
sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
# 官网上的命令行都很复杂,其实这种也可以:
sudo mkfs -t ext4 /dev/sdb
创建一个文件夹用来挂载
sudo chmod a+w /mnt/disks/sdb_home
但是我这边显示 can't create a directory, 因为 no enough space. 其实就是磁盘真的是满的不行了,解决方案就随便删掉哪个大文件就好。
看一下硬盘情况
sudo fdisk -l
接着用 fsck
命令分区
sudo fdisk /dev/mnt/disks/sdb_home
n # 开始分区
# 跟着程序走就好,可以一路按回车
p (主分区)
参考:ubuntu下添加硬盘,分区以及自动挂载 - 作者:不喜欢吃鱼
再看一下硬盘情况
挂载
sudo mount -o discard,defaults /dev/sdb /mnt/disks/sdb_home
如果显示mount: wrong fs type, bad option, bad superblock
, 用 fsck
修复一下
fsck /dev/mnt/disks/sdb_home
参考:StackExchange: mount: wrong fs type, bad option, bad superblock
改权限
sudo chmod a+w /mnt/disks/sdb_home
自动挂载
创建 fstab
文件
sudo cp /etc/fstab /etc/fstab.backup
用 sudo blkid /dev/sdb
可以看硬盘UUID,如果显示的是 PARTUUID 不影响下面的操作
用 vim 编辑 fstab
文件
UUID=0e476b9f-ebe4-4dd1-8497-0df32ca8e4ea /mnt/disks/sdb_home ext4 discard,defaults,nofail 0 2
引用一下这几个字段的含义(作者:不喜欢吃鱼):
- 分区设备文件名或UUID
- 挂载点
- 文件系统名称
- 挂载参数,挂载权限
- 指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份。
- 指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,比如1的优先级比2高。根目录所在的分区的优先级为1,其他分区的优先级为大于或等于2
最后用 lsblk
看一下是不是挂上了
然后就大功告成啦!