Clonezilla 自动化之-启动时自动挂载 Webdav 共享文件夹
liuian 2025-07-23 16:09 6 浏览
1、核心结论
因 Webdav 配置文件 davfs2.conf 未做参数优化,导致 Clonezilla 自动挂载的 Webdav 目录镜像恢复正常,但镜像备份报错(Linux系统可能正常),要解决这个问题,只需要正确调整 Webdav 相关配置。
2、问题背景
Clonezilla 自动备份还原,挂载共享文件夹由 Webdav 提供,使用 mount_partimag.sh 脚本在 Clonezilla 启动时自动挂载 Webdav, 其内容如下:
sudo chmod 777 /etc/davfs2/secrets
sudo "http://your_webdav_url username password" > /etc/davfs2/secrets
# 使用以下命令修改文件权限以确保安全性
sudo chmod 600 /etc/davfs2/secrets
# 挂载
sudo mount -t davfs http://example.com/webdav /home/partimag -o rw
备份镜像时出现磁盘空间不足No space left on device,但是镜像存储服务器空间足够,不会是服务器容量不足问题;
3、排查过程
1)确认 Webdav 服务正常
首先通过 Webdav 客户端软件 Cyberduck 确认 Webdav 对应目录读写权限正常,连续上传大小文件正常。
2)Clonezilla 分割档大小参数调整
Clonezilla高级模式下备份(-i 4096)时
使用Clonezilla初级模式(注意观察他的指令),该模式下,镜像能正常保存到服务器;
了解下他的释义
这时,在Clonezilla高级模式下,配置备份参数(-i 2048),发现仍不能成功备份
再降低(-i 1024),备份成功(但不不能保证所有系统都能备份成功,例如Windows这类系统备份失败)
3)修改 davfs2.conf 配置
修改了 /etc/davfs2/davfs2.conf 以确保缓存目录位于具有大量空间的分区上,将缓存大小更改为 5Gb,增加表大小,并将延迟降低到 0:
# Cache Related Options
# ---------------------
# backup_dir lost+found
cache_dir /bigpartition/davfs2cache # system wide cache
# ~/.davfs2/cache # per user cache
cache_size 5000 # MiByte
table_size 4096
# dir_refresh 60 # seconds
# file_refresh 1 # second
delay_upload 0
# gui_optimize 0
# minimize_mem 0
以上配置参数的修改人无法解决问题。
4)问题综合分析
- Webdav 客户端读写数据正常,判断不是 Webdav 服务端配置问题;
- Clonezilla 手动模式下镜像均能备份成功,但自动模式下备份失败,极大可能问题出在挂载 Webdav 的地方;
- 影响 Webdav 挂载的有三处,/etc/davfs2/secrets、mount -t davfs xxx、/etc/davfs2/davfs2.conf,结合 Clonezilla 源码了解手动模式下的挂载方式;
4、解决办法
1)查找 Clonezilla 专用设置
有个脚本 usr\sbin\ocs-tune-conf-for-webdav,写到分配一个友好的 davfs2 设置,用于上传 Clonezilla 镜像,修改 /etc/davfs2/davfs2.conf 参数:
# 默认
# buf_size 16 # KiByte
# use_locks 1
# use_expect100 0
# use_compression 0
# cache_size 50 # MiByte
# delay_upload 10
# 修改
buf_size 10240 #KiByte maybe more
use_locks 0
use_expect100 1
use_compression 1
cache_size 64 #MiByte maybe more, dynamic
delay_upload 0
2)自动挂载指令修改设置
sudo sed -ri 's/# buf_size\s+16/buf_size 10240/g' /etc/davfs2/davfs2.conf
sudo sed -ri 's/# use_locks\s+1/use_locks 0/g' /etc/davfs2/davfs2.conf
sudo sed -ri 's/# use_expect100\s+0/use_expect100 1/g' /etc/davfs2/davfs2.conf
sudo sed -ri 's/# use_compression\s+0/use_compression 1/g' /etc/davfs2/davfs2.conf
sudo sed -ri 's/# cache_size\s+50/cache_size 64/g' /etc/davfs2/davfs2.conf
sudo sed -ri 's/# delay_upload\s+10/delay_upload 0/g' /etc/davfs2/davfs2.conf
sudo chmod 777 /etc/davfs2/secrets
sudo echo "http://${server_ip}:${server_port}/${image_path} ${username} ${password}" > /etc/davfs2/secrets
sudo chmod 600 /etc/davfs2/secrets
sudo mount -t davfs http://${server_ip}:${server_port}/${image_path} ${image_mount_path} -o rw -o noexec -o user=${username}
通过以上配置,最终解决自动挂载 Webdav 无法备份镜像的问题。
相关推荐
- 基于Spring Security的JWT认证深度解析与实践指南
-
一、JWT认证核心原理剖析1.JWT令牌结构解析Header:采用HMACSHA256算法示例json{"alg":"HS256","typ&...
- 入门到精通:电商API的全栈开发指南
-
在当今电商蓬勃发展的时代,API(应用程序编程接口)作为系统间的“桥梁”,已成为构建高效、可扩展电商平台的核心。全栈开发涉及从前端用户界面到后端服务器、数据库的完整流程,本指南将带你从零基础逐步掌握电...
- SpringBoot整合SpringSecurity+JWT
-
作者|Sans_https://juejin.im/post/5da82f066fb9a04e2a73daec一.说明SpringSecurity是一个用于Java企业级应用程序的安全框架,主要包含...
- Spring Boot 集成 JWT 详细指南(springboot集成junit)
-
SpringBoot集成JWT详细指南在当今的Web应用开发中,安全认证是至关重要的一环。JSONWebToken(JWT)作为一种轻量级的认证和授权机制,因其跨域支持、自包含性以及易...
- 电商API安全最佳实践:保护用户数据免受攻击
-
在电商领域,API(应用程序编程接口)是连接用户、商家和支付系统的核心枢纽。它们处理敏感数据,如用户个人信息、支付详情和交易记录。然而,API也常成为黑客攻击的目标,导致数据泄露、欺诈和声誉损失。本文...
- Egg.js 异常处理、中间件、jwt,实现接口权限控制
-
一、自定义异常、异常处理中间件在程序执行时会有各种各样的异常情况,当异常出现我们能从控制台看出异常的原因,但是对前端来说不够人性化,不能够清晰,有些情况要给调用端返回友好的消息提示,利用自定义异常和全...
- list列表基本操作(list list)
-
【实验目的】1、掌握list列表的基本操作【实验原理】列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字-它...
- 基于Python的多人拼图游戏(python项目拼图游戏)
-
开发环境要求本系统的软件开发及运行环境具体如下。操作系统:Windows7、Windows10。Python版本:Python3.7.0。开发工具:PyCharm。运行方法在项目文件中找到mai...
- python开发工具PyCharm最新版本新增功能介绍
-
PyCharmV2022.1支持自定义包存储库的身份验证、改进的TypedDict和Docker的新服务UI。PyCharm官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网...
- 走马观花看PySide6(官方examples)
-
准备工作1、安装PythonPython下载地址:https://www.python.org/downloads/2、安装PyCharmPyCharm下载地址:https://www.jetbrai...
- 【0基础学爬虫】爬虫基础之scrapy的使用
-
【0基础学爬虫】爬虫基础之scrapy的使用大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章...
- 手把手教你 在Pytorch框架上部署和测试关键点人脸检测项目DBFace
-
这期教向大家介绍仅仅1.3M的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决。01.前言前段时间DBFace人脸检测库横空出世,...
- Scrapy框架的安装(scrapy框架图)
-
Win+R输入cmd打开命令行我们先把pip升级到最新版,输入代码如下:pipinstall--upgradepip不过一般这种更新方式会经常性出错,安装文件在下载到一半时就会超时报错可以试试...
- Pycharm设置本地Python项目解释器
-
设置Pycharm项目运行的python环境,由于不同的项目使用的python环境是不一样的,需要根据项目配置不同的python环境,比如在电脑上面安装了Python3.11.x和3.9.x两个环境,...
- Python支付宝单笔转账接口(python支付宝自动转账)
-
开发信息接口加签方式为证书模式证书模式好处是可以使用支付宝的转账到支付宝账户,也就是提现功能,公钥模式不能实现转账到支付宝账户。此DEMO利用单笔转账到支付宝账户接口【提现功能】用户可以通过此DEMO...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
飞牛OS入门安装遇到问题,如何解决?
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)