問題
mysql 導入任務時,由于導出的 sql 文件是在很大 (30G),利用 SQLDumpSpliter 切割工具 切成幾個 1G 大小的 sql 文件
結果在導入大半天,突然報錯 (另一個服務器上更慘,都導入兩天快完成的時候,也報錯了,那個是 ubuntu 20.04 ,后續再寫)
20191230_154230_03.sql: write error (disk full?). Continue? (y/n/^C)
處理過程
-
查看磁盤占用情況
df -a文件系統 1K-塊 已用 可用 已用% 掛載點...tmpfs 8128668 0 8128668 0% /dev/shmdevpts 0 0 0 - /dev/ptstmpfs 8128668 8640 8120028 1% /runtmpfs 8128668 0 8128668 0% /sys/fs/cgroup.../dev/mapper/centos-root 52403200 52064648 338552 100% /.../dev/mapper/centos-home 147899844 32992 147866852 1% /home/dev/sda1 1038336 196772 841564 19% /boot...# df -h文件系統 容量 已用 可用 已用% 掛載點.../dev/mapper/centos-root 50G 50G 335M 100% //dev/mapper/centos-home 142G 33M 142G 1% /home...
-
想當然認為 tmp 臨時文件太多了,刪除 tmp
# ls /tmp -l總用量 0drwx------. 3 root root 17 8月 10 21:40 systemd-private-1408eb49d4e14c48b6e70c22ff965768-chronyd.service-H72jr9drwx------. 3 root root 17 8月 10 21:44 systemd-private-4c01797c31bf4a4dbb9ef7bd2735e39b-chronyd.service-S6gwnJdrwx------. 3 root root 17 8月 10 22:08 systemd-private-74265bf9678649f7be1d9095a0303a41-chronyd.service-yY6sZCdrwx------. 3 root root 17 8月 11 01:15 systemd-private-ea7fdb52f3094cf088283fc820f29e06-chronyd.service-wtvh3qdrwx------. 3 root root 17 8月 10 21:51 systemd-private-fc233b8722b74a3c9a79417eb7e8b857-chronyd.service-MPdEIR# rm -rf /tmp/*# ls /tmp -l總用量 0
-
刪完再仔細看,原來問題出在這個 已用% 占用 100% 的 /dev/mapper/centos-root
# df -a文件系統 1K-塊 已用 可用 已用% 掛載點.../dev/mapper/centos-root 52403200 52060036 343164 100% /.../dev/mapper/centos-home 147899844 32992 147866852 1% /home/dev/sda1 1038336 196772 841564 19% /boot...
怎么辦?因為我這是虛擬機,擴充容量很 easy ,從那個之前的 200G 擴展到了 500G ,這應該足夠了!
但是,重啟后再看,那個 100% 占用沒有改變,因為 linux 擴展的磁盤不是直接就掛上的 -
冷靜分析,找到對策
1). 設備 /dev/sda1 實際占用才 19% ,很空啊!
2). home 占用也很少, 才 1%
3). 原來 centos 給 root 用戶才分配了 50G
4). 既然 home 那么空,干脆,將 root 下的大文件轉移到 home說干就干!把那些大文件全部轉移到了 /home ,再來查看
# df -h文件系統 容量 已用 可用 已用% 掛載點.../dev/mapper/centos-root 50G 29G 22G 58% //dev/mapper/centos-home 142G 21G 121G 15% /home/dev/sda1 1014M 193M 822M 19% /boot...
-
OK ! 可以繼續了
如果啥時候 /home 也滿了,就只能再掛載新的磁盤分區了