如何正确添加基于Linux的Veeam 备份存储库

万事须己运,他得非我贤。这篇文章主要讲述如何正确添加基于Linux的Veeam 备份存储库相关的知识,希望能为你提供帮助。
注意:
==以下你需要有基本的Linux操作知识,并且熟悉VBR的操作和维护==

  • Hardened Repository(不可变存储库)是Linux存储库特有的一个功能,可以有效预防勒索毒病和恶意删除备份,备份库中的备份文件,没有到指定的时间,任何人都无法删除或修改
  • fast clone 是数据块共享,可以降低存储库空间占用,Linux存储库基于xfs文件系统实现,Windows存储库基于Refs文件系统实现
安装CentOS8快速克隆功能需要以下Linux发行版支持:
  1. CentOS 8.2 and 8.3, Debian 10.x, RHEL 8.2 or later, SLES 15 SP2, Ubuntu 18.04 LTS and 20.04 LTS
  2. 或内核版本> = 5.4
[root@localhost ~]# cat /etc/centos-release CentOS Linux release 8.4.2105 [root@localhost ~]# mkfs.xfs No device name specified Usage: mkfs.xfs /* blocksize */[-b size=num] /* metadata */[-m crc=0|1,finobt=0|1,uuid=xxx,rmapbt=0|1,reflink=0|1] /* data subvol */[-d agcount=n,agsize=n,file,name=xxx,size=num, (sunit=value,swidth=value|su=num,sw=num|noalign), sectsize=num /* force overwrite */[-f] /* inode size */[-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2, projid32bit=0|1,sparse=0|1] /* no discard */[-K] /* log subvol */[-l agnum=n,internal,size=num,logdev=xxx,version=n sunit=value|su=num,sectsize=num,lazy-count=0|1] /* label */[-L label (maximum 12 characters)] /* naming */[-n size=num,version=2|ci,ftype=0|1] /* no-op info only */[-N] /* prototype file */[-p fname] /* quiet */[-q] /* realtime subvol */[-r extsize=num,size=num,rtdev=xxx] /* sectorsize */[-s size=num] /* version */[-V] devicename < devicename> is required unless -d name=xxx is given. < num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB), xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB). < value> is xxx (512 byte blocks).

创建和挂载存储分区
  • 查看磁盘
    [root@localhost ~]# fdisk -l Disk /dev/sdb:100 GiB,107374182400 字节,209715200 个扇区 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/sda:16 GiB,17179869184 字节,33554432 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:49192697-26EB-4F72-BF95-EC5901D32ED2
设备起点末尾扇区大小 类型
/dev/sda1204812308471228800600M EFI 系统
/dev/sda21230848332799920971521G Linux 文件系统
/dev/sda33328000 33552383 30224384 14.4G Linux LVM
Disk /dev/mapper/cl-root:12.8 GiB,13753122816 字节,26861568 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Disk /dev/mapper/cl-swap:1.6 GiB,1719664640 字节,3358720 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
- 创建分区 ```bash [root@localhost ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.32.1)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。设备不包含可识别的分区表。 创建了一个磁盘标识符为 0x84b7933b 的新 DOS 磁盘标签。命令(输入 m 获取帮助):n 分区类型 p主分区 (0个主分区,0个扩展分区,4空闲) e扩展分区 (逻辑分区容器) 选择 (默认 p):p 分区号 (1-4, 默认1): 第一个扇区 (2048-209715199, 默认 2048): 上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-209715199, 默认 209715199):创建了一个新分区 1,类型为“Linux”,大小为 100 GiB。命令(输入 m 获取帮助):w 分区表已调整。 将调用 ioctl() 来重新读分区表。 正在同步磁盘。

  • 格式化分区(如果需要fast clone功能,文件系统选xfs,添加参数 ==reflink=1,crc=1==)
    [root@localhost ~]# mkfs.xfs -b size=4096 -m reflink=1,crc=1 /dev/sdb1 meta-data=https://www.songbingjia.com/dev/sdb1isize=512agcount=4, agsize=6553536 blks =sectsz=512attr=2, projid32bit=1 =crc=1finobt=1, sparse=1, rmapbt=0 =reflink=1 data=bsize=4096blocks=26214144, imaxpct=25 =sunit=0swidth=0 blks naming=version 2bsize=4096ascii-ci=0, ftype=1 log=internal logbsize=4096blocks=12799, version=2 =sectsz=512sunit=0 blks, lazy-count=1 realtime =noneextsz=4096blocks=0, rtextents=0 Discarding blocks...Done.

  • 创建挂载点
    [root@localhost ~]# mkdir /veeambackup

  • 创建开机自动挂载
    cat > > /etc/fstab < < EOF > /dev/sdb1 /veeambackup xfs > EOF

  • 检查自动挂载
    [root@localhost ~]# mount -a [root@localhost ~]# mount | grep vee /dev/sdb1 on /veeambackup type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)

创建一次性账号
  • 创建备份专用账号并授权
    [root@localhost ~]# useradd -m veeambackup [root@localhost ~]# ll /home 总用量 0 drwx------. 2 veeambackup veeambackup 62 9月24 02:13 veeambackup [root@localhost ~]# chown -R veeambackup.veeambackup /veeambackup/ [root@localhost ~]# chmod 700 /veeambackup/ [root@localhost ~]# ll -d /veeambackup/ drwx------. 3 veeambackup veeambackup 21 9月24 03:11 /veeambackup/

  • 为备份专用账号创建密码
    [root@localhost ~]# passwd veeambackup 更改用户 veeambackup 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。

  • 为备份专用账号提权
    [root@localhost ~]# cat > > /etc/sudoers < < EOF > veeambackup ALL=(ALL) ALL > EOF

添加Hardened(加固的)存储库
  1. Backup Infrastructure
  2. Backup Repositories
  3. Add Backup Repositories ...
  4. Direct attached storage
  5. Linux
  6. Credentials
  7. Single-use crendentials for hardened repository
  8. Elevate account privileges automatically
  9. Populate
  10. Use fast cloning XFS volumes
  11. Make recent backups immutable for n days
  12. Advanced
  13. Use per-machine backup files
Linux安全加固
  • 注释sudoers文件中veeambackup账号的语句
  • 锁定veeambackup账号
  • 禁止veeambackup账号通过SSH登录
创建备份策略==启用合成全备份(默认已经开启),同时指定已添加的Linux存储库==
如何正确添加基于Linux的Veeam 备份存储库

文章图片

验证不可变存储功能
[root@localhost ~]# cd /veeambackup/backups/Backup\\ Job\\ 1/ [root@localhost Backup Job 1]# lsattr ----i--------------- ./flink.vm-11001D2021-09-24T160500_CBA8.vbk -------------------- ./Backup Job 1.vbm[root@localhost Backup Job 1]# rm -rf flink.vm-11001D2021-09-24T160500_CBA8.vbk rm: 无法删除\'flink.vm-11001D2021-09-24T160500_CBA8.vbk\': 不允许的操作

验证快速克隆功能
[root@localhost Backup Job 1]# xfs_bmap -v flink.vm-11001D2021-09-24T162042_A11D.vbk flink.vm-11001D2021-09-24T220106_CD17.vib flink.vm-11001D2021-09-24T162042_A11D.vbk: EXT: FILE-OFFSETBLOCK-RANGEAG AG-OFFSETTOTAL 0: [0..7]:52428376..524283831 (88..95)8 1: [8..3175]:57301656..573048231 (4873368..4876535)3168 2: [3176..3199]:57304856..573048791 (4876568..4876591)24 3: [3200..845895]:57304880..581475751 (4876592..5719287) 842696 100000 4: [845896..846423]:58147576..581481031 (5719288..5719815)528 5: [846424..851319]:58148104..581529991 (5719816..5724711)4896 100000 6: [851320..853119]:58153000..581547991 (5724712..5726511)1800 7: [853120..857831]:58154800..581595111 (5726512..5731223)4712 100000 8: [857832..860431]:58159512..581621111 (5731224..5733823)2600 9: [860432..862567]:58162112..581642471 (5733824..5735959)2136 100000 10: [862568..863751]:58164248..581654311 (5735960..5737143)1184 11: [863752..877895]:58165432..581795751 (5737144..5751287)14144 100000 12: [877896..879047]:58179576..581807271 (5751288..5752439)1152 13: [879048..924703]:58180728..582263831 (5752440..5798095)45656 100000 14: [924704..926103]:58226384..582277831 (5798096..5799495)1400 15: [926104..950991]:58227784..582526711 (5799496..5824383)24888 100000 16: [950992..951807]:58252672..582534871 (5824384..5825199)816 17: [951808..956623]:58253488..582583031 (5825200..5830015)4816 100000 18: [956624..958047]:58258304..582597271 (5830016..5831439)1424 19: [958048..974751]:58259728..582764311 (5831440..5848143)16704 100000 20: [974752..975903]:58276432..582775831 (5848144..5849295)1152 21: [975904..1001855]:58277584..583035351 (5849296..5875247)25952 100000 22: [1001856..1003103]: 58303536..583047831 (5875248..5876495)1248 23: [1003104..1006127]: 58304784..583078071 (5876496..5879519)3024 100000 24: [1006128..1006959]: 58307808..583086391 (5879520..5880351)832 25: [1006960..1023447]: 58308640..583251271 (5880352..5896839)16488 100000 26: [1023448..1024455]: 58325128..583261351 (5896840..5897847)1008 27: [1024456..1025463]: 58326136..583271431 (5897848..5898855)1008 100000 28: [1025464..1027359]: 58327144..583290391 (5898856..5900751)1896 29: [1027360..1049031]: 58329040..583507111 (5900752..5922423)21672 100000 30: [1049032..1049975]: 58350712..583516551 (5922424..5923367)944 flink.vm-11001D2021-09-24T220106_CD17.vib: EXT: FILE-OFFSETBLOCK-RANGEAG AG-OFFSETTOTAL 0: [0..7]:52428400..524284071 (112..119)8 1: [8..3199]:62174864..621780551 (9746576..9749767)3192 2: [3200..10743]:62178096..621856391 (9749808..9757351)7544 3: [10744..11095]:62185640..621859911 (9757352..9757703)352 100000 4: [11096..19199]:62185992..621940951 (9757704..9765807)8104

【如何正确添加基于Linux的Veeam 备份存储库】结尾的FLAGS=100000表示这段空间是一段被共享的空间。
[root@localhost Backup Job 1]# ll -h 总用量 8.1G -rw-r--r--. 1 veeambackup veeambackup33K 9月26 10:03 \'Backup Job 1.vbm\' -rw-r--r--. 1 veeambackup veeambackup 2.4G 9月24 04:07flink.vm-11001D2021-09-24T160500_CBA8.vbk -rw-r--r--. 1 veeambackup veeambackup 2.4G 9月24 04:22flink.vm-11001D2021-09-24T162042_A11D.vbk -rw-r--r--. 1 veeambackup veeambackup 9.4M 9月24 10:02flink.vm-11001D2021-09-24T220106_CD17.vib -rw-r--r--. 1 veeambackup veeambackup 2.4G 9月25 10:03flink.vm-11001D2021-09-25T220302_3DB1.vbk -rw-r--r--. 1 veeambackup veeambackup 1.1G 9月26 10:02flink.vm-11001D2021-09-26T220057_92C6.vib [root@localhost Backup Job 1]# df -h 文件系统容量已用可用 已用% 挂载点 devtmpfs1.9G01.9G0% /dev tmpfs1.9G01.9G0% /dev/shm tmpfs1.9G8.6M1.9G1% /run tmpfs1.9G01.9G0% /sys/fs/cgroup /dev/mapper/cl-root13G2.0G11G15% / /dev/sda21014M194M821M20% /boot /dev/sdb1100G6.5G94G7% /veeambackup /dev/sda1599M7.3M592M2% /boot/efi tmpfs374M0374M0% /run/user/0

此处,备份文件显示的大小累计大约8.3GB,实际磁盘占用6.5GB。
关于Veeam中国用户组发现的一些问题
  1. 对于高版本Linux内核或发行版的要求,针对的是快速克隆功能,而非不可变存储库功能
    如何正确添加基于Linux的Veeam 备份存储库

    文章图片

    上图为Veeam 中国用户组文章截图
    如何正确添加基于Linux的Veeam 备份存储库

    文章图片

    上图为Veeam官方文档截图
  2. 快速克隆功能不适用于活动全备份,不能减少存储库空间占用
    如何正确添加基于Linux的Veeam 备份存储库

    文章图片

    上图为Veeam 中国用户组文章截图,提示“必须勾选合成全备份或活动全备份”
    如何正确添加基于Linux的Veeam 备份存储库

    文章图片

    上图为我的实验截图,其中有一个活动全备份,但存储空间并没有减少占用(实际上,活动全备份和合成全备份的原理是不一样的,所以对于快速克隆功能的效果迥异)
  3. Mount Server 本生就只能是Windows服务器,用Linux构建的不可变存储库也就不存在是否能启用mount server 的说法了
    如何正确添加基于Linux的Veeam 备份存储库

    文章图片

    上图为Veeam 中国用户组文章截图
    如何正确添加基于Linux的Veeam 备份存储库

    文章图片

    上图为Veeam官方文档截图
我的51cto学院主页: https://edu.51cto.com/lecturer/785479.html
如何正确添加基于Linux的Veeam 备份存储库

文章图片

我的Veeam相关课程:https://edu.51cto.com/topic/2115.html
如何正确添加基于Linux的Veeam 备份存储库

文章图片

    推荐阅读