存储与数据管理
SynpixCloud 磁盘管理、数据传输和存储指南
概述
SynpixCloud 实例提供可配置的存储选项。了解存储工作原理有助于您有效管理数据并优化成本。
存储类型
系统盘
- 用途 - 操作系统、软件和依赖项
- 默认大小 - 根据镜像不同(通常 50-100 GB)
- 持久性 - 与实例生命周期绑定
数据盘
- 用途 - 数据集、模型和用户数据
- 可配置 - 在实例创建时选择大小
- 保留 - 实例停止时可以保留
磁盘保留
当您停止或销毁实例时,您可以选择数据处理方式:
| 选项 | 数据保留 | 存储费用 | 适用场景 |
|---|---|---|---|
| 不保留 | 否 | 无持续费用 | 临时工作负载 |
| 保留磁盘 | 是 | 持续存储费用 | 长期项目 |
如果未启用磁盘保留,实例销毁时所有数据将丢失。务必备份重要数据!
启用磁盘保留
- 在实例创建过程中,启用 磁盘保留
- 对于现有实例,转到 设置 > 存储
- 在停止前切换磁盘保留选项
扩展磁盘空间
如果您需要更多存储空间:
在线扩容
部分实例支持在线磁盘扩容:
- 转到实例 设置 > 存储
- 点击 扩展磁盘
- 选择新大小
- 确认并支付差额
扩展文件系统
扩展磁盘后,扩展文件系统:
# 检查当前磁盘大小
df -h
# 调整分区大小(如需要)
sudo growpart /dev/vda 1
# 扩展 ext4 文件系统
sudo resize2fs /dev/vda1
# 或对于 XFS 文件系统
sudo xfs_growfs /数据传输
上传文件
使用 SCP
# 上传单个文件
scp -P <端口> local_file.zip root@<主机>:/root/
# 上传目录
scp -P <端口> -r local_folder root@<主机>:/root/使用 rsync(推荐用于大文件传输)
# 带进度同步
rsync -avz --progress local_folder/ root@<主机>:/root/data/ -e "ssh -p <端口>"
# 恢复中断的传输
rsync -avz --partial --progress large_file.zip root@<主机>:/root/ -e "ssh -p <端口>"使用 SFTP
sftp -P <端口> root@<主机>
sftp> put local_file.zip
sftp> get remote_file.zip下载文件
# 从实例下载到本地
scp -P <端口> root@<主机>:/root/results.zip ./
# 下载目录
scp -P <端口> -r root@<主机>:/root/output ./大型数据集传输
对于非常大的数据集,考虑:
- 云存储同步 - 使用
rclone与 S3、GCS 等同步 - wget/curl - 直接从 URL 下载
- HuggingFace Hub - 使用
huggingface-cli下载模型
# 安装 rclone
curl https://rclone.org/install.sh | sudo bash
# 配置云存储
rclone config
# 从云端同步
rclone sync remote:bucket/data /root/dataHuggingFace 模型下载
高效下载 HuggingFace 模型:
# 安装 CLI
pip install huggingface_hub
# 登录(可选,用于私有模型)
huggingface-cli login
# 下载模型
huggingface-cli download meta-llama/Llama-2-7b --local-dir ./models镜像加速(中国大陆)
在中国大陆使用镜像加速下载:
# 设置 HuggingFace 镜像
export HF_ENDPOINT=https://hf-mirror.com
# 然后正常下载
huggingface-cli download model-name存储最佳实践
1. 组织您的数据
/root/
├── code/ # 源代码
├── data/ # 数据集
├── models/ # 训练好的模型
├── checkpoints/ # 训练检查点
└── output/ # 结果和日志2. 定期备份
# 备份到本地机器
rsync -avz root@<主机>:/root/important/ ./backup/ -e "ssh -p <端口>"
# 备份到云存储
rclone sync /root/important remote:bucket/backup3. 清理临时文件
# 清除 pip 缓存
pip cache purge
# 清除 conda 缓存
conda clean --all
# 清除 apt 缓存
sudo apt clean
# 查找大文件
du -sh /* | sort -hr | head -204. 使用压缩
# 传输前压缩
tar -czvf data.tar.gz data/
# 在远程解压
tar -xzvf data.tar.gz存储监控
检查磁盘使用情况
# 整体磁盘使用
df -h
# 目录大小
du -sh /root/*
# 查找最大的文件
find /root -type f -exec du -h {} + | sort -hr | head -20设置警报
在训练脚本中监控磁盘使用:
import shutil
def check_disk_space(path="/", threshold_gb=10):
total, used, free = shutil.disk_usage(path)
free_gb = free // (2**30)
if free_gb < threshold_gb:
print(f"警告:剩余空间仅 {free_gb}GB!")
return free_gb故障排除
磁盘已满
- 检查空间占用:
du -sh /* | sort -hr - 清除缓存(pip、conda、apt)
- 删除不需要的文件/检查点
- 如需要可扩展磁盘
无法写入磁盘
- 检查权限:
ls -la /path/to/dir - 检查磁盘空间:
df -h - 检查文件系统是否以只读方式挂载:
mount | grep " / "
传输速度慢
- 使用压缩:
rsync -avz - 对多个小文件使用并行传输
- 检查两端的网络带宽
支持
有存储相关问题?请联系我们:support@synpixcloud.com