📌 背景
用 Proxmox VE (PVE) 的 LXC 容器部署了 Alpine Nextcloud (部署命令bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/alpine-nextcloud.sh)),刚开始只给了 2G 空间,瞬间满了。挂载了新硬盘,但不知道怎么把旧数据无缝迁移过去?
很多人倒在了挂载这步:直接挂载新盘会把原来的配置文件“盖住”,导致服务报错。
其实,重点就在于一条“搬家”命令。
🚀 核心操作步骤
1. 准备工作:移走旧数据
先进入容器,把原来的数据目录改名备份,给新硬盘腾位置。
pct enter 108 # 进入你的容器ID
mv /var/lib/nextcloud/data /var/lib/nextcloud/data_old
此时,你的旧数据都在 data_old 里,data 目录需要新建一个空的给新硬盘挂载。
2. 挂载新硬盘
在 PVE 界面:资源 (Resources) -> 添加 (Add) -> 挂载点 (Mount Point)。
- 路径:
/var/lib/nextcloud/data - 大小: 随你喜欢(比如 500G)
3. ⭐️ 重点来了:执行“搬家”命令
再次进入容器。现在 data 是空的(新硬盘),data_old 是旧数据。
我们需要把所有数据、权限、隐藏文件原封不动地复制过去。
请执行这条“灵魂命令”:
cp -a /var/lib/nextcloud/data_old/. /var/lib/nextcloud/data/
📝 划重点:
-a参数:这是 Archive(归档)模式,它能保留文件的所有权限、用户组、时间戳。没有它,复制过去的文件权限会乱,Nextcloud 直接崩。/.写法:确保连同.ocdata这种隐藏文件一起复制过去。
4. 修复权限
虽然用了 -a,但为了保险(尤其是挂载点本身属于 root),建议再修正一次权限:
chown -R nextcloud:$(id -gn nextcloud) /var/lib/nextcloud/data
注:如果出现 chown: .../lost+found: Permission denied 报错,请直接忽略。这是新硬盘的系统目录,本来就不该动。
💡 新手必看:如何获取初始用户名密码?
如果你是刚刚安装好这个 Alpine Nextcloud 容器,可能会一脸懵:“登录密码是多少?”
在这个版本的脚本中,有一个隐藏的小技巧: 安装完成后,在控制台输入以下命令:
update
运行后,屏幕上会显示你的 Nextcloud 初始用户名(通常是 ncAdmin)和随机生成的密码。一定要记下来!
🎉 总结
- 备份: 先
mv移走旧目录。 - 挂载: PVE 里挂载新盘。
- 搬运: 用
cp -a完美克隆数据(这是关键!)。 - 密码: 运行
update获取初始凭证。
搞定收工!你的 Nextcloud 现在拥有海量空间了。
Leave a comment