使用PBS备份PVE物理机特定路径

2020-10-13 作者:

This post shows you how to use PBS (Proxmox Backup Server) to backup a specific directory (or mount point) of a PVE (Proxmox Virtual Environment) server, which is NOT exactly same thing in my mind – to backup a physical PVE machine and restore to be another new one (with all my personal settings in) though, but still somehow interesting and worth a try.

本文简介如何使用PBS(Proxmox Backup Server)进行PVE物理机备份。

本以为,这功能可以把pve物理机clone一份然后秒恢复成一台新物理机(类似硬盘dd但更简单)。但实际并非如此,该功能是把特定路径(比如根目录)下的文件整体打包备份(不含已挂载别的分区的路径);而恢复时也不是整分区恢复,而是按文件恢复,且文件已经存在时会报错。

虽然跟想的不太一样,至少这货有一点好处,简便易操作。相当于给PVE物理机磁盘打了个snapshot,而且PBS的管理界面可以把备份解开,只下载(恢复)其中某一个文件,有一定的实用价值。

现在看下备份过程,在PVE物理机上执行如下命令 –

其中 –

  • backup指备份操作。
  • 121-root.pxar是备份到具体的文件名,而pxar是pbs使用的备份文件格式。上一篇PBS初体验中提到了PBS中特殊的存储方式,这里也不例外,121-root.pxar文件名在pbs中也只是个索引文件,具体数据存储也是打散在.chunks下的65536个子目录中。
  • :/  指要备份root挂载点(之下比如/var挂载了别的分区,则不会被备份到)。
  • --repository  告诉备份命令,要备份到远端的PBS服务器。
  • 192.168.1.122:test-store-01  给出PBS服务器的具体IP(端口默认8007)和存储池名字。

备份完成后,从PBS管理界面,可以看到备份信息。

更有意思的是,备份可以展开,甚至可以下载某一具体文件。

那么如果从PVE上列出PBS的备份,从而检查内容和恢复呢?

完整阅读本篇»

Proxmox Backup Server上手初体验

2020-10-12 作者:

This is a basic test of PBS (Proxmox Backup Server) within only about 1 hour. So this literally means nothing but a bit of preliminary experience, which might be incorrect after some research in the near future, and should not be considered as a tutorial.

今天试了一下Proxmox Backup Server(以下简称PBS),国庆期间新鲜出炉的Beta 2,此处大致简单记录一下。

【注】体验时间不长,前后也就1小时多点儿。若有谬误敬请指出,可能很多东西还得读一下文档才能搞清楚。

 

首先,安装过程略去不提。因为PBS保持与PVE(Proxmox Virtual Environment)同样简洁的部署方式和安装速度。

装好后,可以把PBS当做外置存储直接挂载到PVE(单机或集群)上,并对单台vm直接进行备份,全程UI无需任何命令行操作。

而在PBS一端也提供相应的web UI(默认端口8007,区别于PVE的8006)对本地存储池进行管理,也可连接Remotes(不是指PVE,是指远端其他PBS)进行vm、lxc及其他PVE数据进行多端(比如云端+本地,又比如异地)备份的同步。

【注】:PBS需两块以上硬盘,其中一块独立系统盘,另1~n块为数据盘,从web UI可以全过程操作数据盘的分区表初始化、分区格式化以及挂载,支持ext4和zfs两种文件系统。

对PVE上vm 503(Ubuntu 18.04 LTS Server)进行备份,虽然web UI显示备份占用空间64GB(PVE对vm分配的磁盘大小),但实际占用PBS存储空间只有3.6GB,与PVE上的qcow2磁盘(稀疏文件)格式比较相似。

但深究之下,PBS的备份存储比较特别,不同于PVE上单个vm备份压缩包。PBS正经备份目录只有几个描述和索引文件,而实际数据存在一个名为.chunks的隐藏目录,之下有用4位16进制字符命名的,共计65536个子目录来存储经过分割的数据块。

所以是这种我不太理解的存储方式,提供了PBS声称的“去重、增量、加密、数据完整性以及压缩”的功能实现咯?

完整阅读本篇»

Raspbian上snapd狂吃CPU问题

2020-07-22 作者:

To get rid of  snapd  on Raspbian/RaspberryPi OS Buster, since it eats lots of cpu power, especially on the old hardware, like a Pi 2B.

一台年迈的Pi 2B,运行着时时更新的Raspbian Buster,兢兢业业给娃做文件服务器,不亦乐乎。

一天apt dist-upgrade之后,就发现system load频繁升高,系统空载就能吃掉大致一个核的性能。top后画风大致是这样的。

于是很想了解这货在干嘛,消耗这么多脑力,思考人生么?

看起来是想回家拉点什么私货回来(api.snapcraft.io),但还是搞不懂,走io就走io,连续几天24小时一直吃那么多cpu是什么鬼?

完整阅读本篇»

CentOS7免费SSL证书及自动展期

2020-06-14 作者:

This post shows you how to obtain a wildcard SSL certificate for free (which values at least $50) from Let’s Encrypt on CentOS 7.x Linux, and get it setup to renew by itself with an automated script.

至于什么是SSL证书,有什么用,这里不赘述了。大致上,一个泛域名(通配符)DV证书,价值怎么也在CNY 2000/年开外,注意是按年缴费;企业型(OV)证书则更贵,年费肯定不下万。因此别嫌命令行操作不好搞,有免费午餐已然相当给力,还要啥自行车。

按规矩,周知一下,证书发行方是Let’s Encrypt。之所以能送免(bai)费(piao)证书,据说主要是全自动。证书生成、发放、展期等操作,都经shell脚本完全自动化 —— 无人工就成本低,蛮好理解;至于抢了那几家拦路收费的生意,咱也捧个人场,起码希望他们能一直坚持做下去。

证书自动获取

来一台阿里云上的CentOS7,以非root(但具备sudo权限)用户连接,先下载certbot-auto脚本,并授以执行权限。

然后以手工完成“挑战”(challenge)的方式,获取泛域名(通配符)DV证书,其中挑战选择DNS,也即按脚本要求,手工在域名解析中增加TXT记录 —— 以此证明此域名归属于申请者。

那么证书如何将http通信升级为https,不同的后端有不同的代码实现方式。但就目前主流做法,大家倾向于让https通信脱离开发范畴,直接配置在httpd中,比如nginx config(或者apache之类均可):

完整阅读本篇»

两机rsync定时单向只增同步

2020-05-27 作者:

事出有因

  • 老房子装修没布网线,远在北卧192.168.1.128(wifi连接)是娃的网课机,需要播放音视频及office文档;该机wifi连接不算可靠(一堵大量钢筋砖混承重,一堵普通轻体),好的时候24Mbps,偶发连接不稳定的时候会断开;而路由器已经更新为口碑产品Netgear R6700
  • 另有树莓派192.168.1.127(有线LAN,可靠连接)作为7×24文件服务器,用于从ddns接收外来课件,并对1.128提供文件共享服务

问题澄清

  • 课件播放过程中,偶发wifi信号问题导致卡顿

问题思路

  • 由于wifi中断为偶发,大部分情况下连接OK
  • 采取让1.128机器定时(每1小时)去1.127机器同步课件的思路
  • 前者存储大(HDD),后者小(TF),设计为单向同步;后者新增,前者同步,后者删除,前者保留

具体实现

测试以上脚本工作ok后,将其加入crontab,每小时定时执行

后续计划

  • 观察课件同步效果,有问题检查log,总之能用技术解决的问题,就别给人找事干
  • 目前wifi网卡为Intel AC9260 M.2,两根8dBi天线;有空可以考虑升级到带延长线的磁性吸盘12dBi天线,增强wifi稳定性
完整阅读本篇»

Linux信息亭 | Ubuntu Kiosk

2019-08-08 作者:

This article is written for those who need a Linux based kiosk with both touch input (virtual keyboard) and remote desktop (VNC) capability that provides a web application to serve pages and user interactions for customers.

↑ English video tutorial / 英文版视频教程

简而言之,既然任务是做一台单用途信息屏,依然不喜Windows的复杂和玄学(外加版权问题),小目标就是尽量用Linux达到。从用户基数比较大的发行版里挑,UI比较良心的就是Ubuntu了,而Ubuntu里比较可靠的就是一直以来的LTS版本了,然后LTS里最新的就是18.04 LTS —— 得嘞,就是它了。

鉴于Linux权倾朝野,无人不知无人不晓,部署Ubuntu的过程就此略去不提,填入非root用户名叫kiosk。装完后登进去,先整体更新系统。

完整阅读本篇»