Không thể xóa ảnh chụp nhanh btrfs


8

Tôi không thể xóa ảnh chụp nhanh btrfs "apt-snapshot-release-nâng cấp-saucy-2013-10-19_00: 52: 26". Đây là những thông tin chi tiết:

root@cioco:~# btrfs subvolume list -s /
ID 261 gen 246 cgen 245 top level 5 otime 2013-10-19 00:52:26 path @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
root@cioco:~# btrfs subvolume list  /
ID 256 gen 334584 top level 5 path @
ID 258 gen 334134 top level 5 path @home
ID 261 gen 246 top level 5 path @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ID 267 gen 334580 top level 256 path var/lib/lxc/mythtv/rootfs
ID 268 gen 334584 top level 256 path var/lib/lxc/jira/rootfs
ID 278 gen 279278 top level 256 path var/lib/lxc/michele/rootfs
root@cioco:~# grep btrfs /proc/self/mountinfo
20 1 0:16 /@ / rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
39 20 0:16 /@home /home rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache

root@cioco:~# btrfs subvolume delete /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ERROR: error accessing '/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26' 

Tuy nhiên tôi có thể xóa một ảnh chụp nhanh được tạo bởi tôi:

root@cioco:~# btrfs subvolume snapshot / root-snap
Create a snapshot of '/' in './root-snap'
root@cioco:~# btrfs subvolume list -s /
ID 261 gen 246 cgen 245 top level 5 otime 2013-10-19 00:52:26 path @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ID 309 gen 334592 cgen 334592 top level 256 otime 2014-03-31 02:19:08 path root/root-snap
root@cioco:~# btrfs subvolume delete /root/root-snap
Delete subvolume '/root/root-snap'

EDIT1: Không có gì được ghi vào nhật ký kernel:

root@cioco:~# dmesg -c >/dev/null
root@cioco:~# btrfs subvolume delete /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ERROR: error accessing '/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26'
root@cioco:~# dmesg
root@cioco:~#

Nhưng strace cho một gợi ý:

root@cioco:~# strace btrfs subvolume delete /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
...
stat("/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26", 0x7fffe88ebb60) = -1 ENOENT (No such file or directory)
write(2, "ERROR: error accessing '/@apt-sn"..., 82ERROR: error accessing '/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26'
) = 82

Edit2: Tôi đã gắn âm lượng ...

root@cioco:~# mkdir /snapshot
root@cioco:~# mount /dev/sda2 /snapshot -o subvol=/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
root@cioco:~# grep btrfs /proc/self/mountinfo
20 1 0:16 /@ / rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
39 20 0:16 /@home /home rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
61 20 0:16 /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26 /snapshot rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
root@cioco:~# btrfs subvolume delete /snapshot/
Delete subvolume '//snapshot'
ERROR: cannot delete '//snapshot' - Invalid argument

root@cioco:~# strace btrfs subvolume delete /snapshot/
...
stat("/snapshot", {st_mode=S_IFDIR|0755, st_size=230, ...}) = 0
brk(0)                                  = 0x2206000
brk(0x2228000)                          = 0x2228000
lstat("/snapshot", {st_mode=S_IFDIR|0755, st_size=230, ...}) = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=242, ...}) = 0
openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 23), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd8ad2ae000
write(1, "Delete subvolume '//snapshot'\n", 30Delete subvolume '//snapshot'
) = 30
ioctl(3, BTRFS_IOC_SNAP_DESTROY, 0x7fff5f1e5878) = -1 EINVAL (Invalid argument)
close(3)                                = 0
write(2, "ERROR: cannot delete '//snapshot"..., 53ERROR: cannot delete '//snapshot' - Invalid argument
) = 53
...

root@cioco:~# dmesg
[3172764.459166] device label cioco-root devid 1 transid 336213 /dev/sda2

Chỉnh sửa 3: Giải pháp

root@cioco:~# mount /dev/sda2 /btrfs-root/
root@cioco:~# ls -l /btrfs-root/
total 0
drwxr-xr-x 1 root root 262 Apr  1 08:31 @
drwxr-xr-x 1 root root 230 Oct 16 22:53 @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
drwxr-xr-x 1 root root   6 Oct 16 22:13 @home
root@cioco:~# btrfs subvolume delete /btrfs-root/@apt-snapshot-release-upgrade-saucy-2013-10-19_00\:52\:26/
Delete subvolume '/btrfs-root/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26'
root@cioco:~# dmesg
[41113.537617] device label cioco-root devid 1 transid 337615 /dev/sda2

Bất kỳ trợ giúp sẽ được đánh giá cao.


Bạn có thể xóa nó khỏi một phiên Live? Có lẽ nó vẫn còn được sử dụng. grepping /proc/self/mountinfolà không đủ, ví dụ, nó có thể được sử dụng như một liên kết gắn kết hoặc nếu nó không được kết nối với umount -l(unmount unmount) và tôi không biết liệu có thể có trường hợp khác.
Ignis

Nó không được gắn kết ở tất cả. Hệ thống là máy chủ nhà của tôi. Và tôi nghĩ rằng ảnh chụp được chụp sau khi nâng cấp Ubuntu. Tôi hiện đang chạy Ubuntu 13.10 64bit
Mircea Vutcovici

"Phiên trực tiếp" nghĩa là gì?
Mircea Vutcovici

Ý tôi là Live DVD hoặc Live USB.
Ignis

Xin vui lòng gửi đầu ra dmesg | tailsau đó btrfs subvolume deletekhông thành công.
Ignis

Câu trả lời:


15

Ảnh chụp nhanh tồn tại trong thư mục gốc thực sự của hệ thống tệp, đây không phải là ảnh bạn đã gắn vào /. Bạn có / @ subvolume được gắn vào /, vì vậy không có tệp nào có tên đó. Bạn phải gắn khối lượng gốc thực sự ở đâu đó và sử dụng đường dẫn đó để tham chiếu ảnh chụp nhanh.

Hoặc bạn có thể sử dụng apt-btrfs-snapshot deletethay thế.


2
Tôi đã có quá nhiều vấn đề khi gắn và xóa trong quá khứ nhưng chưa bao giờ gặp sự cố khi chạyapt-btrfs-snapshot delete
mchid

Không giống như quản lý ảnh chụp nhanh btrfs thông thường, apt-btrfs-snapshot sẽ được chạy từ một hệ thống đang chạy chứ không phải phân vùng được gắn kết.
mchid

3
@mchid, cái gì? Quản lý ảnh chụp nhanh btrfs bình thường được chạy từ một hệ thống đang chạy ... apt-btrfs-snapshot chỉ là một tập lệnh apt tự động chạy ảnh chụp nhanh btrfs bình thường bất cứ khi nào bạn có gói cài đặt / nâng cấp / gỡ bỏ apt.
psusi

Vấn đề của tôi là tôi đang ở trong tình trạng đầy đĩa vì ảnh chụp nhanh, do đó tôi không thể cài đặt apt-btrfs-snapshot.
fccoelho

Bạn phải khởi động từ USB để xóa nội dung khi hết dung lượng. Ngoài ra, tôi đoán bạn có thể xóa khỏi hệ thống đang chạy nếu bạn gắn âm lượng vào / mnt .
mchid
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.