事件概要:第一次測試建立快照的快照後,想要把其刪除快照。但失敗,失敗提示以下:linux
[root@mylinux ~]# btrfs subvolume delete /mydata/logs_snapshot Delete subvolume (no-commit): '/mydata/logs_snapshot' ERROR: cannot delete '/mydata/logs_snapshot' - Directory not empty
一步步跟着老師的腳步操做,怎麼個人就失敗了呢,各類糾結,下面是問題處理過程命令:bash
[root@mylinux ~]# btrfs subvolume delete /mydata/logs_snapshot/ Delete subvolume (no-commit): '/mydata/logs_snapshot' ERROR: cannot delete '/mydata/logs_snapshot' - Directory not empty You have new mail in /var/spool/mail/root #查看文件夾快照logs_snapshot裏面內容 [root@mylinux ~]# ls /mydata/logs_snapshot grub2.cfg logs #嘗試刪除快照文件夾裏的文件,但目錄不可這樣刪除,須要加-rf參數 [root@mylinux ~]# rm /mydata/logs_snapshot/* rm: remove regular file ‘/mydata/logs_snapshot/grub2.cfg’? y rm: cannot remove ‘/mydata/logs_snapshot/logs’: Is a directory [root@mylinux ~]# ll -a /mydata/logs_snapshot total 16 drwxr-xr-x. 1 root root 8 Oct 5 17:05 . drwxr-xr-x. 1 root root 90 Oct 5 17:03 .. drwxr-xr-x. 1 root root 18 Oct 5 16:51 logs [root@mylinux mydata]# rm -rf logs_snapshot #加上-rf參數嘗試刪除文件夾logs但失敗了 rm: cannot remove ‘logs_snapshot/logs’: Operation not permitted [root@mylinux mydata]# chmod 777 logs_snapshot #對該文件受權 [root@mylinux mydata]# ll total 24 -rw-r--r--. 1 root root 0 Oct 5 12:47 a.txt drwxr-xr-x. 1 root root 0 Oct 5 16:18 cache -rw-r--r--. 1 root root 13948 Oct 5 13:03 functions -rw-r--r--. 1 root root 5137 Oct 5 12:47 grub2.cfg drwxr-xr-x. 1 root root 18 Oct 5 16:59 logs drwxrwxrwx. 1 root root 8 Oct 5 17:05 logs_snapshot [root@mylinux mydata]# rm -rf logs_snapshot #仍然沒法刪除 rm: cannot remove ‘logs_snapshot/logs’: Operation not permitted #就這樣折騰了好長一段時間,網上資料也找過嘗試過但無果,這時候腦海裏出現,爲什麼不先查看快照列表 [root@mylinux logs_snapshot]# btrfs subvolume list /mydata ID 266 gen 104 top level 5 path cache ID 267 gen 122 top level 5 path logs ID 270 gen 128 top level 5 path logs_snapshot ID 271 gen 126 top level 270 path logs_snapshot/logs #這就是病根 #快照的快照須要先刪除最裏層的,方可刪除外面的快照。 [root@mylinux logs_snapshot]# btrfs subvolume delete /mydata/logs_snapshot/logs Delete subvolume (no-commit): '/mydata/logs_snapshot/logs' [root@mylinux logs_snapshot]# ls [root@mylinux logs_snapshot]# cd .. [root@mylinux mydata]# btrfs subvolume delete /mydata/logs_snapshot Delete subvolume (no-commit): '/mydata/logs_snapshot' [root@mylinux mydata]# btrfs subvolume list /mydata ID 266 gen 104 top level 5 path cache ID 267 gen 122 top level 5 path logs