当前位置: 首页 > news >正文

jsp做视频网站做公众号必了解的网站

jsp做视频网站,做公众号必了解的网站,wordpress采集插件 中文,vi视觉识别系统snapper用于创建和管理文件系统快照#xff0c;并在需要时实现回滚#xff0c;它还可以用于创建用户数据的磁盘备份。snapper使用btrfs文件系统或者精简配置的被格式化成XFS或EXT4的LVM卷。snapper可以通过命令行或YaST来进行管理。 btrfs是一种copy-on-write文件系统#x…snapper用于创建和管理文件系统快照并在需要时实现回滚它还可以用于创建用户数据的磁盘备份。snapper使用btrfs文件系统或者精简配置的被格式化成XFS或EXT4的LVM卷。snapper可以通过命令行或YaST来进行管理。 btrfs是一种copy-on-write文件系统它原生支持subvolumes文件系统快照。subvolumes是物理分区内可单独安装的文件系统。你也可以直接从btrfs快照启动系统。 1 默认设置 在openSUSE Leap中snapper通常用于系统修改的撤销和恢复的工具。默认情况下系统的根分区被格式化成了btrfs文件系统。如果根分区足够大大于16G快照功能是默认开启的。其他分区默认关闭了快照功能。 SUSE15:~ # df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 974M 0 974M 0% /dev/shm tmpfs tmpfs 390M 12M 379M 3% /run tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% / /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /boot/grub2/i386-pc /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /.snapshots /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /home /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /opt /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /root /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /boot/grub2/x86_64-efi /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /srv /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /tmp /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /var /dev/nvme0n1p2 btrfs 28G 6.7G 22G 24% /usr/local tmpfs tmpfs 195M 48K 195M 1% /run/user/1000 tmpfs tmpfs 195M 36K 195M 1% /run/user/0CentOS7的根分区默认采用了XFS默认情况下没有开启快照功能。 如果在系统安装时关闭了快照功能可以通过下面的命令开启 SUSE15:~ # snapper -c root create-config /创建快照时快照和原始快照都指向文件系统中的相同块。因此最初快照不会占用额外的磁盘空间。如果原始文件系统中的数据被修改则更改的数据块被复制而旧的数据块保留用于快照。因此快照与修改的数据占用的空间量相同。因此随着时间的推移快照分配的空间量不断增长。因此从包含快照的Btrfs文件系统中删除文件可能无法释放磁盘空间 快照始终驻留在已拍摄快照的同一分区或子卷上。无法将快照存储在不同的分区或子卷上。因此根分区的磁盘大小决定了能够保存多少份快照一旦空间不够系统会自动删除一部分快照从最旧的开始删除。 1.1 默认设置 Disks larger than 16 GB Configuration file: /etc/snapper/configs/rootUSE_SNAPPERyesTIMELINE_CREATEnoDisks smaller than 16 GB Configuration file: not createdUSE_SNAPPERnoTIMELINE_CREATEyes1.2 快照类型 根据触发它们的事件快照分为了三种类型 Timeline Snapshots 每小时创建一个快照旧的快照将会自动被删除。默认情况下过去10天一个月和一年的第一份快照将会被保留。默认情况下该快照是关闭的。 Installation Snapshots 安装软件后会创建一对快照安装前pre的和安装后的post。如果是安装比较重要的包比如内核快照对还会被标记上important。旧的快照同样会被自动删除。默认情况下过去的十个重要快照和十个常规快照将会被保留。默认情况下该快照是开启的。 Aministration Snapshots 当你使用YaST管理系统时会创建一对快照管理前pre的和管理后的post。旧的快照同样会被自动删除。默认情况下过去的十个重要快照和十个常规快照将会被保留。默认情况下该快照是开启的。 1.3 被排除的目录 /boot/grub2/i386-pc, /boot/grub2/x86_64-efi, /boot/grub2/powerpc-ieee1275, /boot/grub2/s390x-emu boot loader配置是无法回滚的这里列出的目录是针对不同硬件架构的boot loader目录 /home 如果/home不驻留在单独的分区上排除掉它是为了避免回滚时数据丢失。 /opt 第三方应用通常安装在该目录下。排除掉它是为了避免回滚时应用被删除。 /srv 该目录包含了web和FTP服务器的数据。排除掉它是为了避免回滚时数据丢失。 /tmp 临时文件夹没必要做快照。 /usr/local 手工安装软件的目录排除掉它是为了避免回滚时应用被删除。 /var 该目录包含了很多变量文件比如日志缓存/var/opt中的第三方软件而且还是虚拟机映像和数据库的默认位置。因此创建此子卷是为了从快照中排除所有这些可变数据并禁用了写时复制。 1.4 自定义设置 openSUSE默认提供了通用场景下的快照设置你也可以根据需要进行修改。 1.4.1 开启和关闭快照 timeline snapshots SUSE15:~ # snapper -c root set-config TIMELINE_CREATEyes SUSE15:~ # snapper -c root set-config TIMELINE_CREATEnoinstallation snapshots 开启该快照功能需要安装软件安装后自动开启删除软件后关闭该快照功能 SUSE15:~ # zypper install snapper-zypp-plugin SUSE15:~ # zypper remove snapper-zypp-pluginadministration snapshots SUSE15:~ # vim /etc/sysconfig/yast2## Type: list(yes,no) ## Default: no # Enable use of snapper for YaST. USE_SNAPPERyes #设置为yes就是开启改为no即可关闭默认是开启状态1.4.2 控制installation snapshots 安装软件的快照对创建依赖于插件snapper-zypp-plugin。配置文件是/etc/snapper/zypp-plugin.conf。配置文件如下 SUSE15:~ # cat /etc/snapper/zypp-plugin.conf ?xml version1.0 encodingutf-8? snapper-zypp-plugin-confsolvables #match属性代表使用UNIX shell风格的通配符w还是使用python正则表达式re #important属性代表是否被标记为重要快照这取决于软件包的标记 #括号中间的字符如下一行的kernel-*用于匹配软件包名根据match属性的设置特殊字符会被解释为shell通配符或正则表达式。solvable matchw importanttruekernel-*/solvablesolvable matchw importanttruedracut/solvablesolvable matchw importanttrueglibc/solvablesolvable matchw importanttruesystemd*/solvablesolvable matchw importanttrueudev/solvablesolvable matchw*/solvable #无条件的匹配所有软件包注释掉这一行代表非重要的软件安装将不会做快照/solvables /snapper-zypp-plugin-conf4.3 创建和挂载新的子卷 系统支持在根下创建一个新的子卷并永久挂载但是这样的子卷将会被快照排除掉。你需要确保不在现有快照中创建它因为回滚后将无法再删除快照。 openSUSELeap配置了//子卷它作为/opt、/srv、/home等永久子卷的独立根。您创建和永久安装的任何新子卷都需要在此初始根文件系统中创建。 下面的列子是从/dev/sda2中新创建一个/usr/important子卷: SUSE15:~ # mount /dev/sda2 -o subvol /mnt SUSE15:~ # btrfs subvolume create /mnt/usr/important SUSE15:~ # umount /mnt永久挂载配置 SUSE15:~ # vim /etc/fstab/dev/sda2 /usr/important btrfs subvol/usr/important 0 0子卷可能包含不断变化的文件例如虚拟化磁盘映像、数据库文件或日志文件。如果是这样请考虑禁用此卷的写时复制功能以避免磁盘块重复。使用/etc/fstab中的nodatacow挂载选项来执行此操作 /dev/sda2 /usr/important btrfs nodatacow,subvol/usr/important 0 0命令行下的操作 SUSE15:~ # chatter C /usr/important1.4.4 控制快照归档 快照会占据大量的磁盘空间因此为了避免快照占据整个磁盘空间多余的快照将会自动被删除。默认情况下系统会保存10个重要的安装和管理快照以及10个常规的安装和管理快照如果快照占据了超过50%的分区空间那么数量会相应的减少但**至少会保存10个重要快照加2个常规快照**。 1.4.5 在精简置备LVM卷中使用快照 快照还支持的文件系统包括XFS、EXT3和EXT4需要专门为这些文件系统创建一个快照配置。在创建时需要在--fstypelvm(xfs)中指明文件系统名例如 SUSE15:~ # snapper -c lvm create-config --fstypelvm(xfs) /thin_lvm2 快照用于撤销修改 snapper还有一个作用是撤销zypper和YaST做的修改因此在zypper和YaST做修改时snapper会产生一对快照修改前和修改后。也可以用于恢复意外丢失的系统文件。要达到这个目的需要开启Timeline snapshots 撤销修改和回滚的区别 撤销修改当使用撤销修改功能是系统会比较两个快照的区别然后取消掉修改的部分。撤销修改还可以只针对某个文件。回滚整个系统将会恢复到原来快照的状态。 撤销修改也可以和当前系统状态进行对比如果所有文件都做了快照那么实际上撤销修改和回滚就没啥区别了。当然首选的还是回滚因为回滚允许在操作之前查看系统并且速度更快。 注意创建快照时没有机制保证数据的一致性。如果在创建快照的同时写入文件例如数据库就会导致文件损坏或部分写入。恢复这样的文件会导致问题。此外不得恢复某些系统文件例如/etc/mtab。因此强烈建议始终仔细查看已更改文件的列表及其差异。仅还原真正需要还原的操作的文件。 2.1 撤销YaST和zypper的修改 一旦在安装时将根分区配置为btrfs文件系统针对YaST和zypper的快照就会被自动配置因此每次操作YaST和zypper时就会创建一对快照。可以通过YaST中的snapper模块和snapper命令来操作修改的撤销。文件的对比也可以通过命令diff来进行查看。 2.1.1 YaST操作 1.通过root账户进入YaST打开Miscellaneous杂项中的snapper文件系统快照模块 2.选择类型为Pre Post的快照描述中会显示通过什么工具来造成的修改。 在清单里面还可以看到最后一个快照只有Pre因为登陆了YaST做操作而操作还没有完成因此没有post快照。 3.选择一对快照然后点击查看修改 这里可以看到所有的修改内容 4.选择所有或者某一个文件夹进行恢复 2.1.2 CLI操作 1.首先列出所有的快照 SUSE15:~ # snapper list -t pre-post Pre # | Post # | Pre Date | Post Date | Description | Userdata ---------------------------------------------------------------------------------------------3 | 4 | Tue Aug 17 16:35:58 2021 | Tue Aug 17 16:36:06 2021 | zypp(zypper) | importantno5 | 6 | Tue Aug 17 16:51:45 2021 | Tue Aug 17 16:51:55 2021 | zypp(zypper) | importantno7 | 8 | Tue Aug 17 16:53:16 2021 | Tue Aug 17 16:53:53 2021 | zypp(zypper) | importantno9 | 10 | Tue Aug 17 17:38:10 2021 | Tue Aug 17 17:39:00 2021 | zypp(zypper) | importantno11 | 12 | Tue Aug 17 17:39:09 2021 | Tue Aug 17 17:39:10 2021 | zypp(zypper) | importantno2.查看某一快照的具体修改内容 SUSE15:~ # snapper status 3..4 #需要使用两个ID才能具体匹配某一个快照 c..... /etc/products.d/Leap.prod ..... /etc/zypp/repos.d/repo-backports-debug-update.repo ..... /etc/zypp/repos.d/repo-backports-update.repo ..... /etc/zypp/repos.d/repo-sle-debug-update.repo ..... /etc/zypp/repos.d/repo-sle-update.repo c..... /usr/lib/sysimage/rpm/Basenames c..... /usr/lib/sysimage/rpm/Conflictname c..... /usr/lib/sysimage/rpm/Dirnames c..... /usr/lib/sysimage/rpm/Group c..... /usr/lib/sysimage/rpm/Installtid c..... /usr/lib/sysimage/rpm/Name c..... /usr/lib/sysimage/rpm/Obsoletename c..... /usr/lib/sysimage/rpm/Packages c..... /usr/lib/sysimage/rpm/Providename c..... /usr/lib/sysimage/rpm/Recommendname c..... /usr/lib/sysimage/rpm/Requirename c..... /usr/lib/sysimage/rpm/Sha1header c..... /usr/lib/sysimage/rpm/Sigmd5 c..... /usr/lib/sysimage/rpm/Suggestname快照中总共有三种标记 c有修改增加的内容-删除的内容 3.查看具体的修改内容 SUSE15:~ # snapper diff 3..4 /etc/products.d/Leap.prod --- /.snapshots/3/snapshot/etc/products.d/Leap.prod 2021-05-24 19:41:40.000000000 0800/.snapshots/4/snapshot/etc/products.d/Leap.prod 2021-06-04 16:43:53.000000000 0800-98,7 98,7 /buildconfiginstallconfigdefaultlangen_US/defaultlang - releasepackage nameopenSUSE-release flagEQ version15.3 releaselp153.138.1/releasepackage nameopenSUSE-release flagEQ version15.3 releaselp153.146.1/distributionopenSUSE/distribution/installconfigruntimeconfig/如果不指定文件则会显示所有的修改内容。 4.撤销修改操作 SUSE15:~ # snapper -v undochange 3..4 /etc/products.d/Leap.prod create:0 modify:1 delete:0 modifying /etc/products.d/Leap.prod如果不指定文件则会撤销所有的修改。 不建议通过使用Snapper撤消更改来恢复用户添加。由于某些目录被排除在快照之外属于这些用户的文件将保留在文件系统中。如果创建了与已删除用户具有相同用户ID的用户则该用户将继承这些文件。因此强烈建议使用YaST用户和组管理工具删除用户。 2.2 恢复文件 timeline snapshot可以帮助你恢复以外删除的文件或是回退文件版本。snapper的diff选项也可以帮你找出具体的修改内容。 2.2.1 YaST操作 从YaST中的“杂项”部分或输入“yast2 Snapper”启动“Snapper*”模块。选择要从中选择快照的“当前配置”。选择要从中恢复文件的时间轴快照然后选择“显示更改”。时间轴快照的类型为Single描述值为Timeline。单击文件名从文本框中选择一个文件。显示了快照版本与当前系统之间的差异。激活复选框以选择要还原的文件。对所有要恢复的文件执行此操作。 2.2.2 CLI操作 通过以下命令获取特定配置的时间轴快照列表 sudo snapper -c CONFIG list -t single | grep timelineCONFIG需要替换为现有Snapper配置。使用snapper列表配置来显示列表。 通过以下命令获取给定快照的更改文件列表 sudo snapper -c CONFIG status SNAPSHOT_ID..0将SNAPSHOT_ID替换为要从中恢复文件的快照的ID。 可以选择通过运行以下命令列出当前文件版本与快照中的文件版本之间的差异 sudo snapper -c CONFIG diff SNAPSHOT_ID..0 FILE NAME如果未指定则会显示所有文件的差异。 4.恢复一个或多个文件 sudo snapper -c CONFIG -v undochange SNAPSHOT_ID..0 FILENAME1 FILENAME2不指定名字则会保存所有的修改 ---- 3 从快照启动实现回滚 openSUSE Leap中的GRUB2可以直接从btrfs快照中引导。只有默认snapper配置不能修改创建的快照root才能实现引导。 启动快照时快照中包含的文件系统部分以只读方式挂载 从快照中排除的所有其他文件系统和部分都以读写方式挂载并且可以修改。 要从可引导快照回滚必须满足以下要求。进行默认安装时系统会进行相应设置。 根文件系统必须是btrfs不支持LVM卷根文件系统必须是一个单独的设备分区或子卷。快照中排除的部分分区如/srv可能驻留在单独的分区上。系统需要能够通过已安装的引导加载程序进行引导。 回滚操作步骤 启动系统后选择*Bootable snapshots *并选择需要启动的快照快照会以时间为前缀命名。登陆系统检查系统工作是否正常。决定是否回滚。 如果不想要回滚到这个快照重启并引导现有的系统或者是选择其他快照。如果想回滚执行命令snapper rollback然后重启系统选择默认启动项以重新启动到恢复的系统。 注意如果在安装时没有禁用快照安装完成后会有一个叫做after installztion的快照你可以随时回滚到这个状态。启动系统升级到Service Pack或新的主要版本时也会创建可引导快照。 3.1 回滚后的快照 在执行回滚之前会创建正在运行的文件系统的快照。该描述引用了在回滚中恢复的快照的ID。 由回滚创建的快照接收Cleanup属性的值编号。因此当达到设置的快照数量时回滚快照会自动删除。如果快照包含重要数据请在删除之前从快照中提取数据。 3.1.1 回滚快照举例 在新安装一个系统后系统中会有如下快照 SUSE15:~ # snapper --iso list# | Type | Pre # | Date | User | Used Space | Cleanup | Description | Userdata --------------------------------------------------------------------------------------------------------0 | single | | | root | | | current | 1* | single | | 2021-08-17 15:04:56 | root | 129.47 MiB | | first root filesystem | 2 | single | | 2021-08-17 15:16:30 | root | 24.12 MiB | number | after installation | importantyes在执行回滚后3号快照会被创建并且包含了回滚前的状态快照4是新的默认Btrfs子卷因此是重新启动后的系统。 SUSE15:~ # snapper --iso list Type | # | | Cleanup | Description | Userdata ---------- ... ---------------------------------------------- single | 0 | | | current | single | 1 | | number | first root filesystem | single | 2 | | number | after installation | importantyes single | 3 | | number | rollback backup of #1 | importantyes single | 4 | | | |3.2 访问和识别快照 启动时选择Start Bootloader from a read-only snapshot就会看到快照列表最新的在最前面可以使用上下箭头进行选择。从引导菜单激活快照不会立即重新启动机器而是打开所选快照的引导加载程序。 快照的命名格式如下 [*]OS (KERNEL,DATETTIME,DESCRIPTION)如果快照被标记为important则会有*标记操作系统名称和版本内核版本快照创建日期快照创建时间快照的描述。手工创建的描述可以通过--description选项来添加描述。 可以通过修改的方式对现有的自动创建的快照进行描述调整。例如要将快照5的描述修改为post-initial可以使用命令snapper modify --userdata bootloaderpost-initial 5。自定义的描述不能超过25个字符否则会无法启动。 3.3 限制条件 由于系统随时在产生临时文件因此是不可能完全回滚到某一个状态的。 3.3.1 快照排除的目录 由于根文件系统不可能包含所有的目录因此这些目录是无法恢复的因此快照会有如下限制 附加的和第三方软件可能会在回滚后无法使用解决的办法只有重新安装应用。 文件访问问题如果做了快照后应用修改了文件的权限或属组用户那么回滚可能会导致应用无法访问这些文件。这样就只能在回滚后重置权限设置。 不兼容的数据格式。如果在做了快照后服务或应用建立了新的数据格式。在回滚后应用可能不能读取收到影响的数据。 混合代码和数据的子卷。一些子卷如/srv可能既包含代码也包含数据。回滚可能会导致出现无法执行的代码。例如PHP版本的降级可能会导致Web服务器的PHP脚本损坏。 用户数据。如果回滚导致用户被删除但相关的数据由于被排除在快照之外而没有被删除。如果系统又创建了相同user ID的用户那么这个用户将会继承旧的数据可通过find命令找到并删除这些文件。 3.3.2 引导加载数据无法回滚 系统无法实现引导加载程序的回滚。 4 开启用户家目录快照 家目录的快照是支持它支持多种用例 个人用户管理自己的快照和回滚系统用户如想要跟踪配置文件、文档等副本的数据库、系统和网络管理员。samba与家目录和btrfs后端共享 用户目录都是btrfs目录/home的子卷可以手工设置快照。但是更方便的方式是使用pam_snapperpam_snapper包安装了pam_snapper.so模块和帮助程序脚本它们可以自动创建用户和配置Snapper。 pam_snapper集成了useradd命令pam和snapper。它默认会在用户登录和注销时创建快照并且还会在某些用户长时间保持登录状态时创建基于时间的快照。 通过Snapper命令或修改配置文件更改默认值。 4.1 安装pam_snapper并创建用户 安装软件 SUSE15:~ # zypper in pam_snapper Loading repository data... Reading installed packages... Resolving package dependencies...The following NEW package is going to be installed:pam_snapper1 new package to install. Overall download size: 27.9 KiB. Already cached: 0 B. After the operation, additional 29.1 KiB will be used. Continue? [y/n/v/...? shows all options] (y): y Retrieving package pam_snapper-0.8.16-1.1.x86_64 (1/1), 27.9 KiB ( 29.1 KiB unpacked) Retrieving: pam_snapper-0.8.16-1.1.x86_64.rpm ..........................................[done]Checking for file conflicts: ...........................................................[done] (1/1) Installing: pam_snapper-0.8.16-1.1.x86_64 ........................................[done添加配置文件 SUSE15:~ # vim /etc/pam.d/common-sessionsession optional pam_snapper.so #添加到最后一行使用脚本文件创建新用户和家目录脚本默认是试运行状态因此需要先关闭。 SUSE15:~ # vim /usr/lib/pam_snapper/pam_snapper_useradd.sh DRYRUN0 #默认是1改为0修改配置后再执行脚本 SUSE15:~ # /usr/lib/pam_snapper/pam_snapper_useradd.sh wolf wolf passwd123456 Create subvolume /home/wolf useradd: warning: the home directory /home/wolf already exists. useradd: Not copying any file from skel directory into it. chown: invalid user: ‘wolf.wolf’在用户第一次登陆时/etc/skel文件夹中的文件将会被复制到用户的家目录中 SUSE15:~ # snapper list --allConfig: home_wolf, subvolume: /home/wolf# | Type | Pre # | Date | User | Used Space | Cleanup | Description | Userdata ----------------------------------------------------------------------------------------------------------------------------- 0 | single | | | root | | | current | 1 | pre | | Sun Aug 22 20:36:03 2021 | wolf | 16.00 KiB | | pam_snapper | ruserroot, servicesu-l, tty/dev/pts/2 2 | post | 1 | Sun Aug 22 20:36:06 2021 | wolf | 16.00 KiB | | pam_snapper | ruserroot, servicesu-l, tty/dev/pts/2由于已经使用wolf登陆过一次系统因此创建了两个快照。wolf用户可以通过snapper命令管理属于自己的快照。 4.2 删除用户 和添加用户一样也需要先修改脚本然后再执行删除操作。 SUSE15:~ # vim /usr/lib/pam_snapper/pam_snapper_userdel.sh DRYRUN0 #默认是1改为0执行删除 SUSE15:~ # /usr/lib/pam_snapper/pam_snapper_userdel.sh jack Delete subvolume (no-commit): /home/jack no crontab for jack userdel: jack home directory (/home/jack) not found4.3 手工开启家目录快照 SUSE15:~ # btrfs subvolume create /home/jack Create subvolume /home/jack SUSE15:~ # snapper -c home_jack create-config /home/jack SUSE15:~ # sed -i -e s/ALLOW_USERS\\/ALLOW_USERS\jack\/g /etc/snapper/configs/home_jack SUSE15:~ # yast users add usernamejack home/home/jack password123456 SUSE15:~ # chown jack.jack /home/jack SUSE15:~ # chmod 755 /home/jack/.snapshots5 创建和修改snapper配置 snapper的配置文件统一存放在/etc/snapper/configs/下其中root为默认创建的主要针对YaST和zypper的操作当根分区磁盘空间足够大时就会自动创建。 你也可以为挂载到btrfs格式子卷下的任何目录创建自己定义的快照配置 SUSE15: # snapper -c tmp-data create-config /tmp #-c后面跟配置名称最后跟目录 SUSE15: # ls /etc/snapper/configs/ home_jack home_wolf root tmp-data配置将会根据模板/etc/snapper/config-templates/default来进行创建。也可以使用-t来指定自己定义的模板。 5.1 管理已有的配置 snapper提供了很多子命令来管理配置。 列出配置 SUSE15:/opt # snapper list-configs Config | Subvolume --------------------- home_jack | /home/jack home_wolf | /home/wolf root | / tmp-data | /tmp 查看配置 SUSE15:/opt # snapper -c home_wolf get-config Key | Value ---------------------------------- ALLOW_GROUPS | ALLOW_USERS | wolf BACKGROUND_COMPARISON | yes EMPTY_PRE_POST_CLEANUP | yes EMPTY_PRE_POST_MIN_AGE | 1800 FREE_LIMIT | 0.2 FSTYPE | btrfs NUMBER_CLEANUP | yes NUMBER_LIMIT | 50 NUMBER_LIMIT_IMPORTANT | 10 NUMBER_MIN_AGE | 1800 QGROUP | SPACE_LIMIT | 0.5 SUBVOLUME | /home/wolf SYNC_ACL | no TIMELINE_CLEANUP | yes TIMELINE_CREATE | yes TIMELINE_LIMIT_DAILY | 10 TIMELINE_LIMIT_HOURLY | 10 TIMELINE_LIMIT_MONTHLY | 10 TIMELINE_LIMIT_WEEKLY | 0 TIMELINE_LIMIT_YEARLY | 10 TIMELINE_MIN_AGE | 1800 修改配置 根据列出来的配置中的选项修改其参数 SUSE15:/opt # snapper -c home_wolf set-config NUMBER_LIMIT20 SUSE15:/opt # snapper -c home_wolf get-config Key | Value ---------------------------------- ALLOW_GROUPS | ALLOW_USERS | wolf BACKGROUND_COMPARISON | yes EMPTY_PRE_POST_CLEANUP | yes EMPTY_PRE_POST_MIN_AGE | 1800 FREE_LIMIT | 0.2 FSTYPE | btrfs NUMBER_CLEANUP | yes NUMBER_LIMIT | 20 #默认为50已经修改成了20 NUMBER_LIMIT_IMPORTANT | 10 NUMBER_MIN_AGE | 1800 QGROUP | SPACE_LIMIT | 0.5 SUBVOLUME | /home/wolf SYNC_ACL | no TIMELINE_CLEANUP | yes TIMELINE_CREATE | yes TIMELINE_LIMIT_DAILY | 10 TIMELINE_LIMIT_HOURLY | 10 TIMELINE_LIMIT_MONTHLY | 10 TIMELINE_LIMIT_WEEKLY | 0 TIMELINE_LIMIT_YEARLY | 10 TIMELINE_MIN_AGE | 1800 删除配置 SUSE15:/opt # snapper -c home_jack delete-config SUSE15:/opt # snapper list-configs Config | Subvolume --------------------- home_wolf | /home/wolf root | / tmp-data | /tmp 5.1.1 配置数据 1. ALLOW_GROUPS, ALLOW_USERS - 授予普通用户使用快照的权限。默认值为空。 2. BACKGROUND_COMPARISON - 定义在创建快照后快照对是否在后台被比较。默认为Yes 3. EMPTY_* - 定义具有相同前后快照的快照对的清理算法 4. FSTYPE - 分区的文件系统类型不要修改它。默认为btrfs 5. NUMBER_* - 定义安装和管理快照的清理算法 6. QGROUP/SPACE_LIMIT - 为清理算法添加配额支持 7. SUBVOLUME - 分区或子卷快照的挂载点不要修改它。默认是/ 8. SYNC_ACL - 如果快照用在常规用户上该用户必须能够访问.snapshot目录和读取里面的文件。如果设置为yesSnapper会自动使用来自ALLOW_USERS或ALLOW_GROUPS条目的用户和组的ACL来访问它们。默认值是no 9. TIMELINE_CREATE - 如果设置为yes每小时会创建一个快照。默认值为no 10. TIMELINE_CLEANUP/TIMELINE_LIMIT_* - 为基于时间的快照定义清理算法 5.1.2 普通用户使用snapper 默认情况下快照只能由root用户使用但是总会有一些使用需求 网站的管理员想要为/srv/www创建快照用户想为自己的家目录创建快照 可以创建快照配置为用户/组添加相关的权限并保证用户/组能够访问快照数据。最好的办法就是将SYNC_ACL 选项设置为yes。 操作步骤注意需要使用root用户执行以下操作 创建配置 SUSE15: # snapper -c tmp-data create-config /tmp根据需要调整配置参数 通过设置ALLOW_USERSALLOW_GROUPS来给用户/组授权多个条目使用空格隔开。 SUSE15:/opt # snapper -c tmp-data set-config ALLOW_USERSwolf SYNC_ACLyes查看配置 wolfSUSE15:~ snapper -c tmp-data list# | 类型 | 前期 # | 日期 | 用户 | 已用空间 | 清空 | 描述 | 用户数据 ----------------------------------------------------------------- 0 | single | | | root | | | current | 6 手工创建和管理快照 snapper支持手工创建快照由于快照都是针对已存在的配置因此手工创建快照同样需要基于已有的配置。默认情况下root配置已经被使用了因此手工创建快照时首先需要创建快照配置。 6.1快照元数据 每个快照都有自己的元数据创建快照时需要指定快照的元数据修改快照就是在修改快照的元数据。 snapper --config root list - 列出基于该配置创建的所有快照由于root是默认配置因此这里可以省去。 snapper list -a - 列出基于所有存在的配置创建的所有快照。 snapper list -t pre-post - 列出所有的基于默认配置的pre and post快照 snapper list -t single - 列出所有的基于默认配置的single快照 以下元数据可用于每个快照 Type快照类型不可修改。Number快照的唯一编号不可修改Pre Number指定对应的pre快照编号。 仅适用于post类型的快照。不可修改Description快照描述Userdata指定用户数据的扩展描述使用逗号隔开。例如reasontesting, projectfoo也用来标示快照是否重要以及列出快照的创建者。Cleanup-Algorithm快照的清理算法。 6.1.1 快照类型 快照有三种类型它们在物理上没有区别但Snapper处理它们的方式不同。 - pre - 文件系统修改前的快照。每个快照都会对应一个post快照 - post - 文件系统修改后的快照。每个快照都会对应一个pre快照 - single - 单独的快照这是快照创建的默认类型。 6.1.2 清理算法 snapper提供了三种清理算法这些算法将会在日常的cron中执行。可以定义要保留在Snapper配置中的不同类型快照的数量 - number - 达到一定的数量后删除旧的快照 - timeline - 超出一定的时限后删除旧的快照但保留几个每小时、每天、每月和每年的快照。 - empty-pre-post - 删除两者无差异的pre/post快照 6.2 创建快照 在命令行下使用snapper create或者在YaST的Snapper模块下点击Create创建快照。下面是命令行下的快照创建举例。 - snapper create --from 17 --description with package2 从现有的快照指定了id为17创建一个single类型的独立快照 - snapper create --description Snapshot for week 2 2014 根据默认配置创建一个带有描述的single类型的独立快照由于没有指定清理算法因此该快照永远不会被删除 - snapper --config home create --description Cleanup in ~tux 根据配置home创建一个带有描述的single类型的独立快照由于没有指定清理算法因此该快照永远不会被删除 - snapper --config home create --description Daily data backup --cleanup-algorithm timeline 根据配置home创建一个带有描述的single类型的独立快照当快照满足为配置中的时间线清理算法指定的条件时将自动删除该快照。 - snapper create --type pre --print-number --description Before the Apache config cleanup --userdata importantyes 创建一个类型为pre的快照并输出快照编号。这是创建用于保存“before”和“after”状态的一对快照所需的第一个命令。快照会被标记为重要 - snapper create --type post --pre-number 30 --description After the Apache config cleanup --userdata importantyes 创建一个和ID号为30的pre快照配对的post快照这是创建用于保存“before”和“after”状态的一对快照所需的第二个命令。快照会被标记为重要 - snapper create --command *COMMAND* --description Before and after COMMAND 在运行*COMMAND*命令的前后自动创建一对快照。这种创建方式只能在命令行下使用。 6.3 修改快照元数据 Snapper只允许修改快照的描述、清理算法和用户数据。通过命令行和YaST都可以完成修改操作。下面是命令行下的举例 - snapper modify --cleanup-algorithm timeline 10 修改快照的清理算法 - snapper --config home modify --description daily backup -cleanup-algorithm timeline 120 修改快照的清理算法和描述 6.4 删除快照 命令行和YaST都可以执行快照删除操作但是不允许删除当前默认子卷的快照。 使用Snapper删除快照时释放的空间将被后台运行的Btrfs进程占用。因此空闲空间的可见性和可用性被延迟。如果想要立即可用将选项--sync与删除命令一起使用。 - snapper delete 65 删除一个快照 - snapper -c home delete 89 90 删除指定配置下的两个快照 - snapper delete --sync 23 删除快照并立即释放空间 有时Btrfs快照存在但包含Snapper元数据的XML文件丢失。在这种情况下快照对Snapper不可见需要手动删除btrfs subvolume delete /.snapshots/SNAPSHOTNUMBER/snapshot rm -rf /.snapshots/SNAPSHOTNUMBER 如果想删除快照以释放硬盘空间先删除旧快照。快照越旧它占用的磁盘空间就越多。 7 快照自动清理 自动清理的目的在于防止快照占据过大的空间可以结合磁盘配额来做清理保证根分区有足够的可用空间。 7.1 清理编号的快照 清理编号快照管理和安装快照对由Snapper配置的以下参数控制。 - NUMBER_CLEANUP 开启或关闭安装和管理快照对的清理。如果开启当快照的数量超出设置的值后就会自动清理。默认值是yes - NUMBER_LIMIT/NUMBER_LIMIT_IMPORTANT 定义最多保留多少个快照第一个参数的默认值是2-10第二个参数的默认值是4-10。清理算法会删除超过指定最大值的快照而不考虑快照和文件系统空间。算法还会删除高于最小值的快照直到达到快照和文件系统的限制。如果禁用配额支持则需要提供一个常量值例如 10否则清理将失败并显示错误。 - NUMBER_MIN_AGE 定义快照在自动删除之前必须具有的最短时间以秒为单位。 无论存在多少快照都不会删除小于此处指定值的快照。默认值是1800 上面的三个参数都会被参考只有当条件都满足才会清除快照。如果不想考虑某个参数可以将它设置为0,。 7.2 清理时间线快照 下面的参数可以控制时间线快照的清理 - TIMELINE_CLEANUP 开启或关闭时间线快照对的清理。如果开启当快照的数量超出设置的值后就会自动清理。默认值是yes - TIMELINE_LIMIT_DAILY,TIMELINE_LIMIT_HOURLY,TIMELINE_LIMIT_MONTHLY,TIMELINE_LIMIT_WEEKLY,TIMELINE_LIMIT_YEARLY 定义小时、日、月和年快照保留的数量默认值是10。基于周的快照默认值是0。 - TIMELINE_MIN_AGE 定义快照在自动删除之前必须具有的最短时间。默认值是1800 7.3 清理没有变化的快照对 当你运行了zypper命令或者进入了YaST界面又没有做任何修改时系统仍然会创建一对快照只是这对快照的变化为空。使用下面的参数来设置自动清除这些快照 - EMPTY_PRE_POST_CLEANUP 如果设置为yes那么无变化的快照对将会被删除默认值为yes - EMPTY_PRE_POST_MIN_AGE 定义快照在自动删除之前必须具有的最短时间。默认值是1800 7.4 清理手工创建的快照 snapper不会为手工创建的快照提供客户定义的清除算法但是可以在创建的时候指定算法。如果添加了快照将会加入你指定算法的清除队列也可以在创建后修改算法。 - snapper create --description Test --cleanup-algorithm number 创建一个单独的快照并指定了number清除算法 - snapper modify --cleanup-algorithm timeline 25 修改ID为25的快照清除算法为timeline 7.5 磁盘配额 你还可以为快照指定配额通过百分比来表示。btrfs配额应用到子卷而不是用户。除了使用Btrfs配额之外还可以对用户和组应用磁盘空间配额。 配额是自动启用的也可以使用命令snapper setup-quota来手工开启。 配额有由下面的参数来配置 - QGROUP Snapper使用的Btrfs配额组如果没有设置运行snapper setup-quota。如果已经设置只有在熟悉man 8 btrfs-qgroup的情况下才能更改。此值是使用snapper setup-quota设置的不应更改。 - SPACE_LIMIT 限制的配置以小数表示如0.1表示10% 配额仅在现有数量或时间线清理算法之外被激活。如果没有清理算法处于活动状态则不会应用配额限制。 启用配额支持后Snapper将根据需要执行两次清理运行。第一次运行将应用为数量和时间线快照指定的规则。只有在本次运行后超过配额时才会在第二次运行中应用特定于配额的规则。 即使启用了配额支持Snapper也将始终保留使用NUMBER_LIMIT*和TIMELINE_LIMIT*值指定的快照数量即使会超出配额。因此建议为NUMBER_LIMIT*和TIMELINE_LIMIT*指定范围值(MIN-MAX)以确保可以应用配额。 例如如果设置了NUMBER_LIMIT5-20Snapper将执行第一次清理运行并将常规编号快照的数量减少到20。如果这20个快照超过配额Snapper将删除一个中最旧的快照。第二次运行直到达到配额。无论它们占用多少空间都将始终保留至少五个快照。 8 显示快照占用的磁盘空间 由于快照会共享当前状态的数据因此常规的du和df命令不能查看快照具体占用的空间大小。当需要释放Btrfs上的磁盘空间时需要知道每个快照使用了多少独占磁盘空间而不是共享空间。Snapper 0.6及更高版本在“已用空间”列中报告每个快照的已用磁盘空间 SUSE15:~ # snapper --iso list# | Type | Pre # | Date | User | Used Space | Cleanup | Description | Userdata --------------------------------------------------------------------------------------------------------0 | single | | | root | | | current | 1* | single | | 2021-08-17 15:04:56 | root | 708.00 KiB | | first root filesystem | 2 | single | | 2021-08-17 15:16:30 | root | 97.22 MiB | number | after installation | importantyes5 | pre | | 2021-08-17 16:51:45 | root | 224.00 KiB | number | zypp(zypper) | importantno 6 | post | 5 | 2021-08-17 16:51:55 | root | 512.00 KiB | number | | importantno 7 | pre | | 2021-08-17 16:53:16 | root | 48.00 KiB | number | zypp(zypper) | importantno 8 | post | 7 | 2021-08-17 16:53:53 | root | 2.48 MiB | number | | importantno 9 | pre | | 2021-08-17 17:38:10 | root | 176.00 KiB | number | zypp(zypper) | importantno 10 | post | 9 | 2021-08-17 17:39:00 | root | 1.74 MiB | number | | importantno 11 | pre | | 2021-08-17 17:39:09 | root | 64.00 KiB | number | zypp(zypper) | importantno 12 | post | 11 | 2021-08-17 17:39:10 | root | 1.54 MiB | number | | importantno 13 | pre | | 2021-08-22 16:14:22 | root | 136.57 MiB | number | yast snapper | 14 | pre | | 2021-08-22 20:28:38 | root | 112.00 KiB | number | zypp(zypper) | importantno 15 | post | 14 | 2021-08-22 20:28:41 | root | 316.00 KiB | number | | importantno 16 | pre | | 2021-08-22 20:45:24 | root | 336.00 KiB | number | yast users | 17 | post | 16 | 2021-08-22 20:45:35 | root | 304.00 KiB | number | | btrfs命令也提供了类似的功能 SUSE15:~ # btrfs qgroup show -p / qgroupid rfer excl parent -------- ---- ---- ------ 0/5 16.00KiB 16.00KiB --- 0/256 16.00KiB 16.00KiB --- 0/257 180.59MiB 180.59MiB --- 0/258 40.00KiB 40.00KiB --- 0/259 192.00KiB 192.00KiB --- 0/260 16.00KiB 16.00KiB --- 0/261 10.48MiB 10.48MiB --- 0/262 16.00KiB 16.00KiB --- 0/263 34.95MiB 34.95MiB --- 0/264 16.00KiB 16.00KiB --- 0/265 2.51MiB 2.51MiB --- 0/266 160.00KiB 160.00KiB --- 0/267 5.69GiB 708.00KiB --- 0/275 5.68GiB 97.22MiB 1/0 0/278 5.69GiB 224.00KiB 1/0 0/279 5.69GiB 512.00KiB 1/0 0/280 5.69GiB 48.00KiB 1/0 0/281 5.69GiB 2.48MiB 1/0 0/283 5.69GiB 176.00KiB 1/0 0/284 5.70GiB 1.74MiB 1/0 0/285 5.69GiB 64.00KiB 1/0 0/286 5.69GiB 1.54MiB 1/0 0/288 5.70GiB 136.57MiB 1/0 0/289 5.69GiB 112.00KiB 1/0 0/290 5.69GiB 316.00KiB 1/0 0/291 16.00KiB 16.00KiB --- 0/292 16.00KiB 16.00KiB --- 0/293 0.00B 0.00B --- 0/294 0.00B 0.00B --- 0/295 16.00KiB 16.00KiB --- 0/296 16.00KiB 16.00KiB --- 0/297 16.00KiB 16.00KiB --- 0/298 0.00B 0.00B --- 0/299 5.69GiB 336.00KiB 1/0 0/300 5.69GiB 304.00KiB 1/0 0/302 16.00KiB 16.00KiB --- 0/303 16.00KiB 16.00KiB --- 0/304 16.00KiB 16.00KiB --- 0/305 16.00KiB 16.00KiB --- 0/306 16.00KiB 16.00KiB --- 0/307 48.00KiB 48.00KiB --- 0/308 16.00KiB 16.00KiB --- 0/309 48.00KiB 48.00KiB --- 1/0 6.59GiB 924.74MiB --- qgroupid 显示子卷的识别号rfer 显示子卷中引用的数据总量excl 显示每个子卷中的独占数据。parent 显示子卷的父 qgroup 最后一项1/0显示父qgroup的总数。在上面的示例中如果删除所有子卷将释放924.97MiB。运行以下命令以查看哪些快照与每个子卷相关联 SUSE15:~ # btrfs subvolume list -st / ID gen cgen top level otime path -- --- ---- --------- ----- ---- 275 69 69 266 2021-08-17 15:16:30 /.snapshots/2/snapshot 278 215 215 266 2021-08-17 16:51:45 /.snapshots/5/snapshot 279 218 218 266 2021-08-17 16:51:55 /.snapshots/6/snapshot 280 222 222 266 2021-08-17 16:53:16 /.snapshots/7/snapshot 281 227 226 266 2021-08-17 16:53:53 /.snapshots/8/snapshot 283 283 283 266 2021-08-17 17:38:10 /.snapshots/9/snapshot 284 287 287 266 2021-08-17 17:39:00 /.snapshots/10/snapshot 285 289 289 266 2021-08-17 17:39:09 /.snapshots/11/snapshot 286 292 292 266 2021-08-17 17:39:10 /.snapshots/12/snapshot 288 2248 2248 266 2021-08-22 16:14:22 /.snapshots/13/snapshot 289 2435 2435 266 2021-08-22 20:28:38 /.snapshots/14/snapshot 290 2438 2438 266 2021-08-22 20:28:41 /.snapshots/15/snapshot 295 2460 2460 292 2021-08-22 20:36:03 /home/wolf/.snapshots/1/snapshot 296 2462 2462 292 2021-08-22 20:36:06 /home/wolf/.snapshots/2/snapshot 299 2493 2493 266 2021-08-22 20:45:24 /.snapshots/16/snapshot 300 2495 2495 266 2021-08-22 20:45:35 /.snapshots/17/snapshot 302 2517 2517 292 2021-08-22 21:00:20 /home/wolf/.snapshots/3/snapshot 304 2583 2583 292 2021-08-22 21:52:30 /home/wolf/.snapshots/4/snapshot 305 2588 2588 292 2021-08-22 21:53:01 /home/wolf/.snapshots/5/snapshot 306 2599 2599 292 2021-08-22 22:00:25 /home/wolf/.snapshots/6/snapshot 307 2602 2601 303 2021-08-22 22:00:25 /tmp/.snapshots/1/snapshot 308 2679 2679 292 2021-08-22 23:00:25 /home/wolf/.snapshots/7/snapshot 309 2682 2681 303 2021-08-22 23:00:25 /tmp/.snapshots/2/snapshot从一个服务包升级到另一个服务包会导致快照对占据磁盘的大量的磁盘空间建议在不需要这个快照后立即删除它以释放磁盘空间。
http://www.dnsts.com.cn/news/121761.html

相关文章:

  • 昆山市有没有做网站设计的河北省建设网
  • 网站建设方案说明书app免费制作平台生成
  • 网站建设吉金手指排名15wordpress 调用函数
  • 网站升级改版需要几天网站开发人员招聘it管理
  • 网站建设 黑龙江湘潭网站推广
  • 织梦后台怎么做网站地图网站建设设计制作方案与价格
  • 舟山论坛网深圳优化怎么做搜索
  • 做中英双语切换的网站6万左右装修三室两厅
  • 家电网站建设彩票网站平台
  • h5做网站wordpress软件企业主题
  • 淘宝上的网站建设免费简历在线制作网站
  • 网络销售工作怎么样手机网站怎么做才适合优化
  • 音乐网站建设教程视频xampp wordpress 建站教程
  • discuz网站ipwordpress怎么制作网站主页
  • 知名设计网站网站空间和流量
  • 河北网站开发公司珠海网站推广价格
  • 包头正大光电 做网站东方网景做网站怎么样
  • 徐州鸿美网站建设打开百度搜索引擎
  • aspcms网站威宁建设局网站
  • 智慧团建网站登录入口手机版做一个网站flash收多少钱
  • 企业网站内页哪个厂家的logo品牌设计
  • 做公司产品展示网站盐城微网站建设
  • 旅游网站设计的建设原则烟台网站改版
  • 网站建设在线视频卡顿网站建设需要投资多少
  • 做网站 创业 流程wordpress侧边浮窗
  • 为什么做的网站在谷歌浏览器打不开wordpress调用当前tag标签的热门文章
  • 做响应式网站的微博号大连城乡住房建设厅网站
  • 网站建设建网站年轻的母亲简述如何对网站进行推广
  • qfd 网站开发专业微信网站建设多少钱
  • 建站教程视频下载动力无限网站效果好不好