gpt4 book ai didi

proxmox - 容器备份失败,权限被拒绝,返回 `mkdir/mnt/vzsnap0`

转载 作者:行者123 更新时间:2023-12-02 22:11:04 25 4
gpt4 key购买 nike

这一切都是按照 root 完成的。用户。

备份脚本 /usr/share/perl5/PVE/VZDump/LXC.pm设置默认挂载点

my $default_mount_point = "/mnt/vzsnap0";

但是无论我使用 GUI 还是命令行,我都会收到以下错误:

ERROR: Backup of VM 103 failed - mkdir /mnt/vzsnap0: 
Permission denied at /usr/share/perl5/PVE/VZDump/LXC.pm line 161.

该脚本中的第 160 - 161 行是:

my $rootdir = $default_mount_point;
mkpath $rootdir;

安装后,在创建任何图像或进行任何备份之前,我设置了两件事。

  • (1) /mnt/backups 的 SSHFS 挂载
  • (2) 将所有其他驱动器添加为 Linux LVM

我为添加驱动器所做的事情很简单:

pvcreate /dev/sdb1
pvcreate /dev/sdc1
pvcreate /dev/sdd1
pvcreate /dev/sde1
vgextend pve /dev/sdb1
vgextend pve /dev/sdc1
vgextend pve /dev/sdd1
vgextend pve /dev/sde1
lvextend pve/data /dev/sdb1
lvextend pve/data /dev/sdc1
lvextend pve/data /dev/sdd1
lvextend pve/data /dev/sde1

有关 SSHFS 说明,请参阅我的博客文章:https://6ftdan.com/allyourdev/2018/02/04/proxmox-a-vm-server-for-your-home/

<小时/>

以下是与文件系统目录权限相关的文件和详细信息。

cat /etc/fstab

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/pve/root / ext4 errors=remount-ro 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0

df -h

Filesystem                                Size  Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 9.0M 1.6G 1% /run
/dev/mapper/pve-root 37G 8.0G 27G 24% /
tmpfs 7.9G 43M 7.8G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/fuse 30M 20K 30M 1% /etc/pve
sshfs@10.0.0.10:/mnt/raid/proxmox_backup 1.4T 725G 672G 52% /mnt/backups
tmpfs 1.6G 0 1.6G 0% /run/user/0

ls -dla /mnt

drwxr-xr-x 3 root root 0 Aug 12 20:10 /mnt

ls /mnt

backups

ls -dla /mnt/backups

drwxr-xr-x 1 1001 1002 80 Aug 12 20:40 /mnt/backups
<小时/>

我希望成功的命令是:

vzdump 103 --compress lzo --node ProxMox --storage backup --remove 0 --mode snapshot

根据记录,容器镜像的大小仅为 8GB。

克隆容器确实有效,快照也有效。

<小时/>

问答

<小时/>

问)您如何运行 perl 脚本?

A) 通过 GUI,您单击立即备份,然后选择您的存储(我有 backupslocal,两者都会产生此错误),然后选择容器的状态( SnapshotSuspendStop 均产生相同的错误),然后选择压缩类型( noneLZOgzip 均产生相同的错误)。设置完所有内容后,单击备份并获得以下输出。

INFO: starting new backup job: vzdump 103 --node ProxMox --mode snapshot --compress lzo --storage backups --remove 0
INFO: Starting Backup of VM 103 (lxc)
INFO: Backup started at 2019-08-18 16:21:11
INFO: status = stopped
INFO: backup mode: stop
INFO: ionice priority: 7
INFO: CT Name: Passport
ERROR: Backup of VM 103 failed - mkdir /mnt/vzsnap0: Permission denied at /usr/share/perl5/PVE/VZDump/LXC.pm line 161.
INFO: Failed at 2019-08-18 16:21:11
INFO: Backup job finished with errors
TASK ERROR: job errors

从中可以看到命令是vzdump 103 --node ProxMox --mode snapshot --compress lzo --storage backups --remove 0 。我还尝试使用 SSH shell 登录并运行此命令并得到相同的错误。

<小时/>

Q) 可能是设置了目录的“不可变”属性。试试lsattr /看看是否 /mnt已设置小写“i”属性。

A) root@ProxMox:~# lsattr /

--------------e---- /tmp
--------------e---- /opt
--------------e---- /boot
lsattr: Inappropriate ioctl for device While reading flags on /sys
--------------e---- /lost+found
lsattr: Operation not supported While reading flags on /sbin
--------------e---- /media
--------------e---- /etc
--------------e---- /srv
--------------e---- /usr
lsattr: Operation not supported While reading flags on /libx32
lsattr: Operation not supported While reading flags on /bin
lsattr: Operation not supported While reading flags on /lib
lsattr: Inappropriate ioctl for device While reading flags on /proc
--------------e---- /root
--------------e---- /var
--------------e---- /home
lsattr: Inappropriate ioctl for device While reading flags on /dev
lsattr: Inappropriate ioctl for device While reading flags on /mnt
lsattr: Operation not supported While reading flags on /lib32
lsattr: Operation not supported While reading flags on /lib64
lsattr: Inappropriate ioctl for device While reading flags on /run
<小时/>

问) 可以手动创建/mnt/vzsnap0没有任何问题吗?

A) root@ProxMox:~# mkdir /mnt/vzsnap0

mkdir: cannot create directory ‘/mnt/vzsnap0’: Permission denied
<小时/>

问)您可以在干净的虚拟机中复制它吗?

A)我不知道。我没有额外的系统来尝试它,我需要我拥有的容器。在 ProxMox 的虚拟机中尝试......我不确定。我想我可以尝试一下,但我真的不想现在就这样做。也许如果其他一切都失败了。

<小时/>

Q) 如果您查看 drwxr-xr-x 1 1001 1002 80 Aug 12 20:40 /mnt/backups ,看起来有一个 id 为 1001 的用户它可以访问备份,因此即使 root 也无法写入。你需要检查为什么是1001以及1002代表哪个组。然后您可以添加您的 root以及运行 GUI 的用户到 ID 为 1002 的组.

A) 我可以毫无问题地写入 /mnt/backups目录。刚才做了一个cd /mnt/backups; mkdir test就成功了。

最佳答案

摘自留言

mkdir /mnt/vzsnap0: Permission denied

很明显问题出在/mnt目录的权限上。

可能是目录的“不可变”属性已设置。

尝试 lsattr/ 并查看 /mnt 是否设置了小写“i”属性。

作为 reference :

The lower-case i in lsattr output indicates that the file or directory is set as immutable: even root must clear this attribute first before making any changes to it. With root access, you should be able to remove this with chattr -i /mnt, but there is probably a reason why this was done in the first place; you should find out what the reason was and whether or not it's still applicable before removing it. There may be security implications.

所以,如果是这种情况,请尝试:

chattr -i /mnt

删除它。

引用文献

lsattr output

根据inode flags—attributes manual page :

FS_IMMUTABLE_FL 'i': The file is immutable: no changes are permitted to the file contents or metadata (permissions, timestamps, ownership, link count and so on). (This restriction applies even to the supe‐ ruser.) Only a privileged process (CAP_LINUX_IMMUTABLE) can set or clear this attribute.

关于proxmox - 容器备份失败,权限被拒绝,返回 `mkdir/mnt/vzsnap0`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57469934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com