注意:
==以下你需要有基本的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/sda1 2048 1230847 1228800 600M EFI 系统
/dev/sda2 1230848 3327999 2097152 1G Linux 文件系统
/dev/sda3 3328000 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=/dev/sdb1              isize=512    agcount=4, agsize=6553536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
    data     =                       bsize=4096   blocks=26214144, imaxpct=25
         =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=12799, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=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存储库==
image.png

验证不可变存储功能

[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-OFFSET         BLOCK-RANGE        AG AG-OFFSET           TOTAL
   0: [0..7]:             52428376..52428383  1 (88..95)                8
   1: [8..3175]:          57301656..57304823  1 (4873368..4876535)   3168
   2: [3176..3199]:       57304856..57304879  1 (4876568..4876591)     24
   3: [3200..845895]:     57304880..58147575  1 (4876592..5719287) 842696 100000
   4: [845896..846423]:   58147576..58148103  1 (5719288..5719815)    528
   5: [846424..851319]:   58148104..58152999  1 (5719816..5724711)   4896 100000
   6: [851320..853119]:   58153000..58154799  1 (5724712..5726511)   1800
   7: [853120..857831]:   58154800..58159511  1 (5726512..5731223)   4712 100000
   8: [857832..860431]:   58159512..58162111  1 (5731224..5733823)   2600
   9: [860432..862567]:   58162112..58164247  1 (5733824..5735959)   2136 100000
  10: [862568..863751]:   58164248..58165431  1 (5735960..5737143)   1184
  11: [863752..877895]:   58165432..58179575  1 (5737144..5751287)  14144 100000
  12: [877896..879047]:   58179576..58180727  1 (5751288..5752439)   1152
  13: [879048..924703]:   58180728..58226383  1 (5752440..5798095)  45656 100000
  14: [924704..926103]:   58226384..58227783  1 (5798096..5799495)   1400
  15: [926104..950991]:   58227784..58252671  1 (5799496..5824383)  24888 100000
  16: [950992..951807]:   58252672..58253487  1 (5824384..5825199)    816
  17: [951808..956623]:   58253488..58258303  1 (5825200..5830015)   4816 100000
  18: [956624..958047]:   58258304..58259727  1 (5830016..5831439)   1424
  19: [958048..974751]:   58259728..58276431  1 (5831440..5848143)  16704 100000
  20: [974752..975903]:   58276432..58277583  1 (5848144..5849295)   1152
  21: [975904..1001855]:  58277584..58303535  1 (5849296..5875247)  25952 100000
  22: [1001856..1003103]: 58303536..58304783  1 (5875248..5876495)   1248
  23: [1003104..1006127]: 58304784..58307807  1 (5876496..5879519)   3024 100000
  24: [1006128..1006959]: 58307808..58308639  1 (5879520..5880351)    832
  25: [1006960..1023447]: 58308640..58325127  1 (5880352..5896839)  16488 100000
  26: [1023448..1024455]: 58325128..58326135  1 (5896840..5897847)   1008
  27: [1024456..1025463]: 58326136..58327143  1 (5897848..5898855)   1008 100000
  28: [1025464..1027359]: 58327144..58329039  1 (5898856..5900751)   1896
  29: [1027360..1049031]: 58329040..58350711  1 (5900752..5922423)  21672 100000
  30: [1049032..1049975]: 58350712..58351655  1 (5922424..5923367)    944
flink.vm-11001D2021-09-24T220106_CD17.vib:
 EXT: FILE-OFFSET      BLOCK-RANGE        AG AG-OFFSET          TOTAL
   0: [0..7]:          52428400..52428407  1 (112..119)             8
   1: [8..3199]:       62174864..62178055  1 (9746576..9749767)  3192
   2: [3200..10743]:   62178096..62185639  1 (9749808..9757351)  7544
   3: [10744..11095]:  62185640..62185991  1 (9757352..9757703)   352 100000
   4: [11096..19199]:  62185992..62194095  1 (9757704..9765807)  8104

结尾的FLAGS=100000表示这段空间是一段被共享的空间。

[root@localhost Backup Job 1]# ll -h
总用量 8.1G
-rw-r--r--. 1 veeambackup veeambackup  33K 9月  26 10:03 'Backup Job 1.vbm'
-rw-r--r--. 1 veeambackup veeambackup 2.4G 9月  24 04:07  flink.vm-11001D2021-09-24T160500_CBA8.vbk
-rw-r--r--. 1 veeambackup veeambackup 2.4G 9月  24 04:22  flink.vm-11001D2021-09-24T162042_A11D.vbk
-rw-r--r--. 1 veeambackup veeambackup 9.4M 9月  24 10:02  flink.vm-11001D2021-09-24T220106_CD17.vib
-rw-r--r--. 1 veeambackup veeambackup 2.4G 9月  25 10:03  flink.vm-11001D2021-09-25T220302_3DB1.vbk
-rw-r--r--. 1 veeambackup veeambackup 1.1G 9月  26 10:02  flink.vm-11001D2021-09-26T220057_92C6.vib
[root@localhost Backup Job 1]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             1.9G     0  1.9G    0% /dev
tmpfs                1.9G     0  1.9G    0% /dev/shm
tmpfs                1.9G  8.6M  1.9G    1% /run
tmpfs                1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/cl-root   13G  2.0G   11G   15% /
/dev/sda2           1014M  194M  821M   20% /boot
/dev/sdb1            100G  6.5G   94G    7% /veeambackup
/dev/sda1            599M  7.3M  592M    2% /boot/efi
tmpfs                374M     0  374M    0% /run/user/0

此处,备份文件显示的大小累计大约8.3GB,实际磁盘占用6.5GB。

关于Veeam中国用户组发现的一些问题

  1. 对于高版本Linux内核或发行版的要求,针对的是快速克隆功能,而非不可变存储库功能
    6NNLNB`UN_FGE8_IX12E.jpg
    上图为Veeam 中国用户组文章截图
    4J~TBXOC6CYMFWJ4.jpg
    上图为Veeam官方文档截图

  2. Mount Server 本生就只能是Windows服务器,用Linux构建的不可变存储库也就不存在是否能启用mount server 的说法了
    D410AJ0015G3RMUHZ3X0.jpg
    上图为Veeam 中国用户组文章截图
    5CDQA3YC`75Q`OMY6YVHKS.png
    上图为Veeam官方文档截图

我的51cto学院主页: https://edu.51cto.com/lecturer/785479.html
image.png
我的Veeam相关课程:https://edu.51cto.com/topic/2115.html
image.png