群晖lvm.conf配置文件描述
# 这是 LVM2 系统的示例配置文件。
# 它包含如果没有将使用的默认设置
# /etc/lvm/lvm.conf 文件。
#
# 请参阅“man lvm.conf”以获取更多信息,包括文件布局。
#
# 有关如何在
# 这个文件结合了内置值和命令行选项来
# 得到 LVM 使用的最终值。
#
# 有关显示内置的信息,请参阅“man lvmconfig”
# 和 LVM 使用的配置值。
#
# 如果此文件中设置了默认值(未注释掉),则
# 使用此文件的新版本 LVM 将继续使用该值,
# 即使新版本的 LVM 改变了内置的默认值。
#
# 将此文件放在不同的目录中并覆盖 /etc/lvm set
# 运行工具前的环境变量 LVM_SYSTEM_DIR。
#
# 注意如果取消注释,每个设置只出现一次
# 此文件中的示例设置。
# 配置部分 设置.
# 如何处理 LVM 配置设置。
config{
# 配置选项 config/checks.
# 如果启用,则报告任何 LVM 配置不匹配。
# 这意味着检查配置键是否被理解
# LVM 并且键的值是正确的类型。如果禁用,
# 任何配置不匹配都会被忽略并使用默认值
# 没有任何警告(关于配置键不存在的消息
# found 仅以详细模式发出)。
checks = 1
# 配置选项 config/abort_on_errors。
# 如果发现配置不匹配,则中止 LVM 进程。
abort_on_errors = 0
# 配置选项 config/profile_dir.
# LVM 查找配置文件的目录。
profile_dir = "/etc/lvm/profile"
}
# 配置节设备。
# LVM 如何使用块设备。
devices {
# 配置选项设备/目录。
# 创建卷组设备节点的目录。
# 命令也接受它作为卷组名称的前缀。
# 这个配置选项是高级的。
dir = "/dev"
# 配置选项设备/扫描。
# 包含与 LVM 一起使用的设备节点的目录。
# 这个配置选项是高级的。
scan = [ "/dev" ]
# 配置选项 devices/obtain_device_list_from_udev.
# 从udev获取可用设备列表。
# 这样可以避免打开或使用任何不适用的非块设备或
# 在 udev 目录中找到的子目录。任何设备节点或
# udev 目录中不受 udev 管理的符号链接将被忽略。这个
# 设置仅适用于 udev 管理的设备目录;其他
# 目录将被完全扫描。 LVM需要编译
# udev 支持应用此设置。
obtain_device_list_from_udev = 1
# 配置选项 devices/external_device_info_source.
# 选择外部设备信息源。
# 有些信息可能已经在系统中可用,LVM 可以
# 使用此信息来确定它的确切类型或使用的设备
# 进程。使用现有的外部设备信息源可以
# 加速设备处理,因为 LVM 不需要运行自己的本机
# 例程来获取此信息。例如,这个信息
# 用于驱动 LVM 过滤,如 MD 组件检测、多路径
# 组件检测、分区检测等。
#
# 接受的值:
# 没有任何
# 没有使用外部设备信息源。
# udev
# 重用现有的 udev 数据库记录。仅适用于 LVM
# 在 udev 支持下编译。
#
external_device_info_source = "none"
# 配置选项设备/首选名称。
# 选择要为块设备显示的路径名。
# 如果一个块设备存在多个路径名,LVM需要
# 显示设备名称,匹配路径名
# 此正则表达式列表中的每个项目。第一场比赛是
# 用过的。尽量避免使用不具描述性的 /dev/dm-N 名称(如果存在)。
# 如果没有首选名称匹配,或者没有定义首选名称,
# 以下内置首选项按顺序应用,直到一个
# 产生一个首选名称:
# 优先选择带有路径前缀的名称,顺序如下:
# /dev/mapper、/dev/disk、/dev/dm-*、/dev/block。
# 首选斜杠最少的名称。
# 首选符号链接的名称。
# 优先选择字典顺序中值最小的路径。
#
# 例子
#preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
#
# 此配置选项没有定义默认值。
# 配置选项设备/过滤器。
# 限制LVM命令使用的块设备。
# 这是一个用于接受或拒绝块的正则表达式列表
# 设备路径名。每个正则表达式由竖线“|”分隔
# (或任何字符)并以 'a' 开头以接受路径,或
# by 'r' 拒绝路径。列表中第一个匹配的正则表达式
# 使用路径,为设备生成“a”或“r”结果。
# 当一个块设备存在多个路径名时,如果有路径名
# 在 'r' 模式之前匹配 'a' 模式,则设备为
#接受。如果所有路径名首先匹配一个 'r' 模式,那么
# 设备被拒绝。不匹配的路径名不影响接受
# 或拒绝决定。如果没有设备的路径名与模式匹配,
# 然后设备被接受。小心混合“a”和“r”模式,
# 因为组合可能会产生意想不到的结果(测试更改。)
# 更改过滤器后运行 vgscan 以重新生成缓存。
# 有关过滤器的特殊情况,请参阅 use_lvmetad 注释。
#
# 例子
# 接受每个块设备:
# 过滤器 = [ "a|.*/|" ]
# SYNO
filter = [ "r|^/dev/md0$|", "r|^/dev/md1$|","a|/dev/md|", "r/.*/" ]
# 拒绝光驱设备:
# fiter = [“r|/dev/cdrom|” ]
# 只使用环回设备,例如用于测试:
# filter = [ "a|loop|", "r|.*|" ]
# 接受除 hdc 之外的所有循环设备和 ide 驱动器:
# filter = [ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
# 使用非常具体的锚点:
# filter = [ "a|^/dev/hda8$|", "r|.*/|" ]
#
# 这个配置选项有一个自动的默认值。
# filter = [ "a|.*/|" ]
# 配置选项 devices/global_filter.
# 限制LVM系统组件使用的块设备。
# 因为设备/过滤器可能会被命令行覆盖,所以它是
# 不适用于系统范围的设备过滤,例如 udev 和 lvmetad。
# 使用 global_filter 从这些 LVM 系统组件中隐藏设备。
# 语法与设备/过滤器相同。被拒绝的设备
# global_filter 不被 LVM 打开。
# 这个配置选项有一个自动的默认值。
# global_filter = [ "a|.*/|" ]
# 配置选项 devices/cache_dir.
# 存放设备缓存文件的目录。
# 过滤结果缓存在磁盘上,避免重新扫描dud
# 设备(这可能需要很长时间)。默认情况下,此缓存是
# 存储在名为 .cache 的文件中。删除这个文件是安全的;这
# 工具重新生成它。如果启用了 gain_device_list_from_udev,则
# 设备列表从 udev 和任何现有的 .cache 文件中获取
# 已移除。
cache_dir = "/etc/lvm/cache"
# 配置选项设备/缓存文件前缀。
# 在 .cache 文件名之前使用的前缀。请参阅设备/缓存目录。
cache_file_prefix = ""
# 配置选项设备/write_cache_state。
# 启用/禁用写入缓存文件。请参阅设备/缓存目录。
write_cache_state = 1
# 配置选项设备/类型。
# 其他可接受的块设备类型列表。
# 这些是来自 /proc/devices 的设备类型名称,后跟
# 最大分区数。
#
# 例子
# 类型 = [ "fd", 16 ]
#
# 这个配置选项是高级的。
# 此配置选项没有定义默认值。
# 配置选项 devices/sysfs_scan.
# 限制设备扫描以阻止出现在 sysfs 中的设备。
# 这是一种快速过滤掉不存在的块设备的方法
# 出现在系统上。 sysfs 必须是内核的一部分并已挂载。)
sysfs_scan = 1
# 配置选项 devices/multipath_component_detection。
# 忽略作为 DM 多路径设备组件的设备。
multipath_component_detection = 1
# 配置选项 devices/md_component_detection.
# 忽略作为软件 RAID (md) 设备组件的设备。
md_component_detection = 1
# 配置选项 devices/fw_raid_component_detection。
# 忽略作为固件 RAID 设备组件的设备。
# LVM 必须为此使用非 none 的 external_device_info_source
# 要执行的检测。
fw_raid_component_detection = 0
# 配置选项 devices/md_chunk_alignment.
# 将 PV 数据块与 md 设备的条带宽度对齐。
# 这适用于直接将 PV 放置在 md 设备上的情况。
#SYNO
md_chunk_alignment = 0
# 配置选项设备/default_data_alignment。
# PV 数据区开始的默认对齐方式,单位为 MB。
# 如果设置为 0,将使用 64KiB 的值。
# 为 1MiB 设置为 1,为 2MiB 设置为 2,以此类推。
# 这个配置选项有一个自动的默认值。
#SYNO
default_data_alignment = 0
# 配置选项 devices/data_alignment_detection。
# 根据 sysfs 设备信息检测 PV 数据对齐情况。
# PV 数据区的开始将是 minimum_io_size 的倍数或
#optimal_io_size 在 sysfs 中公开。 minimum_io_size 是最小的
# 请求设备可以在不产生读-修改-写的情况下执行
# 惩罚,例如 MD 块大小。 optimize_io_size 是设备的
# 接收 I/O 的首选单位,例如 MD 条带宽度。
# minimum_io_size 如果未定义最佳io_size (0),则使用。
# 如果启用了 md_chunk_alignment,则检测到最佳 io_size。
# 此设置优先于 md_chunk_alignment。
#SYNO
data_alignment_detection = 0
# 配置选项设备/数据对齐。
# 在 KiB 中对齐 PV 数据区域的开始。
# 如果一个 PV 直接放在一个 md 设备上并且 md_chunk_alignment 或者
# data_alignment_detection 已启用,则忽略此设置。
# 否则 md_chunk_alignment 和 data_alignment_detection 是
# 如果设置了,则禁用。设置为 0 以使用默认对齐方式或
# 页面大小,如果更大。
data_alignment = 0
# 配置选项 devices/data_alignment_offset_detection。
# 根据 sysfs 设备信息检测 PV 数据对齐偏移量。
# PV 对齐数据区域的起始位置将由
#alignment_offset 在 sysfs 中暴露。此偏移量通常为 0,但可能
# 非零。某些 4KiB 扇区驱动器补偿 Windows
# 分区将有一个 3584 字节的对齐偏移量(扇区 7
# 是最低对齐的逻辑块,4KiB 扇区开始于
# LBA -1,因此扇区 63 在 4KiB 边界上对齐)。
# pvcreate --dataalignmentoffset 将跳过此检测。
#SYNO
data_alignment_offset_detection = 0
# 配置选项 devices/ignore_suspended_devices。
# 在扫描设备时忽略 I/O 挂起的 DM 设备。
# 否则,LVM 等待挂起的设备可以访问。
# 这应该只在恢复情况下需要。
ignore_suspended_devices = 0
# 配置选项devices/ignore_lvm_mirrors。
# 不要扫描“镜像”LV 以避免可能的死锁。
# 这避免了使用“镜像”段类型时可能出现的死锁。
# 此设置确定 LV 是否使用 'mirror' 段类型
# 扫描 LVM 标签。这会影响镜子的能力
# 用作物理卷。如果启用此设置,则
# 不可能在镜像 LV 之上创建 VG,即在其上堆叠 VG
# 镜像 LV。如果禁用此设置,则允许镜像 LV
# 扫描,可能会导致LVM进程和镜像的I/O变成
#被屏蔽了。这是由于镜像段类型处理的方式
#失败。为了发生挂起,必须运行 LVM 命令
# 就在故障之后和自动 LVM 修复过程之前
# 发生,否则一定有多个镜像出现故障
# 相同的 VG 同时发生写入失败的时刻之前
# 扫描镜子的标签。 “镜像”扫描问题不会
# 适用于处理故障的 LVM RAID 类型,例如“raid1”
# 不同的方式,使它们成为 VG 堆叠的更好选择。
ignore_lvm_mirrors = 1
# 配置选项 devices/disable_after_error_count.
# 跳过设备后的 I/O 错误数。
# 在每次 LVM 操作期间,从每个设备接收到的错误是
#计数。如果设备的计数器超过此处设置的限制,
# 在剩下的时间里,没有进一步的 I/O 被发送到该设备
# 手术。将此设置为 0 会完全禁用计数器。
disable_after_error_count = 0
# 配置选项 devices/require_restorefile_with_uuid。
# 允许使用 pvcreate --uuid 而不需要 --restorefile。
require_restorefile_with_uuid = 1
# 配置选项 devices/pv_min_size.
# 可用作 PV 的块设备的最小大小(KiB)。
# 在集群环境中,所有节点必须使用相同的值。
# 任何小于 512KiB 的值都会被忽略。以前的内置
# 值为 512。
pv_min_size = 2048
# 配置选项设备/issue_discards。
# 向 LV 不再使用的 PV 发出丢弃。
# 当 LV 被丢弃时,丢弃被发送到 LV 的底层物理卷
# 不再使用物理卷的空间,例如 lvremove,
# 减量化。丢弃通知存储区域不再是
# 用过的。支持丢弃的存储广告特定于协议的存储
# 方式丢弃应该由内核发出(TRIM、UNMAP 或
# WRITE SAME 设置 UNMAP 位)。并非所有存储都支持或
# 受益于丢弃,但 SSD 和精简配置的 LUN
# 一般都会。如果启用,则仅在两个
# 存储和内核提供支持。
issue_discards = 0
}
# 配置节分配。
# LVM 如何选择空间并将属性应用于 LV。
allocation {
# 配置选项分配/cling_tag_list。
# 建议 LVM 在搜索新空间时使用哪些 PV。
# 当搜索空闲空间以扩展 LV 时,'cling' 分配
# 策略将选择与最后一段相同的 PV 上的空间
#现有的LV。如果没有足够的空间并且标签列表是
# 定义在这里,它会检查是否有任何一个附加到
# 关注的 PV,然后在现有的 PV 标签之间寻找匹配
# 扩展区和新扩展区。
#
# 例子
# 使用特殊标签“@*”作为通配符来匹配任何 PV 标签:
# 紧贴标签列表 = [“@*”]
# LV 在单个 VG 中的两个站点之间进行镜像,并且
# PV 用@site1 或@site2 标记以指示位置
# 它们位于:
# cling_tag_list = [ "@site1", "@site2" ]
#
# 此配置选项没有定义默认值。
# 配置选项分配/maximise_cling。
# 使用以前的分配算法。
# 在 2.02.85 版本中所做的更改扩大了“紧贴”的范围
# 检测更多可以将数据分组到的情况的策略
# 相同的磁盘。此设置可用于禁用更改
# 并恢复到以前的算法。
maximise_cling = 1
# 配置选项分配/use_blkid_wiping。
# 使用 blkid 检测新 PV 和 LV 上的现有签名。
# blkid 库可以检测到比本机 LVM 更多的签名
# 检测代码,但可能需要更长时间。 LVM需要编译
# blkid 擦除支持应用此设置。 LVM本机检测
# 当前能够识别的代码:MD 设备签名,
# 交换签名和 LUKS 签名。查看签名列表
# 被 blkid 识别,检查“blkid -k”命令的输出。
use_blkid_wiping = 1
# 配置选项分配/wipe_signatures_when_zeroing_new_lvs。
# 在清零新 LV 时查找并擦除任何签名。
# --wipesignatures 选项覆盖此设置。
# 归零由 -Z/--zero 选项控制,如果未指定,
# 如果可能,默认使用归零。归零只是覆盖
# 新 LV 的前 4KiB 为零且不进行签名检测或
#擦拭。签名擦除超越归零并检测确切类型
# 和签名在整个 LV 中的位置。它提供了一个
# clean LV 创建后,因为所有已知的签名都被擦除了。 LV
# 由于旧签名,其他工具未错误声明
# 来自以前的使用。 LVM 可以检测到的签名数量
# 取决于选择的检测代码(参见
#use_blkid_wiping。)必须确认擦除每个检测到的签名。
# 禁用此设置时,不会检测到新 LV 上的签名
# 或擦除,除非直接使用 --wipesignatures 选项。
wipe_signatures_when_zeroing_new_lvs = 1
# 配置选项分配/mirror_logs_require_separate_pvs。
# 镜像日志和镜像总是使用不同的 PV。
# 默认设置在 2.02.85 版本中更改。
mirror_logs_require_separate_pvs = 0
# 配置选项分配/cache_pool_metadata_require_separate_pvs。
# 缓存池元数据和数据将始终使用不同的 PV。
cache_pool_metadata_require_separate_pvs = 0
# 配置选项分配/缓存模式。
# 用于新缓存的默认缓存模式。
#
# 接受的值:
# 直写
# 数据块立即从缓存写入磁盘。
# 回写
# 数据块在一段时间后从缓存写回磁盘
# 延迟以提高性能。
#
# 此设置替换分配/cache_pool_cachemode。
# 这个配置选项有一个自动的默认值。
# cache_mode = "直写"
# 配置选项分配/cache_policy。
# 用于新缓存卷的默认缓存策略。
# 从内核 4.2 开始,默认策略是 smq (Stochastic multique),
# 否则选择较旧的 mq(多队列)策略。
# 此配置选项没有定义默认值。
# 配置部分分配/缓存设置。
# 策略的个别设置。
# 有关详细信息,请参阅个别政策的帮助。
# 这个配置部分有一个自动的默认值。
# 缓存设置 {
# }
# 配置选项分配/cache_pool_chunk_size。
# 缓存池卷的最小块大小(以 KiB 为单位)。
# 使用过大的 chunk_size 会导致浪费使用
# 缓存,小的读取和写入会导致大的部分
# 一个要映射到缓存中的 LV。但是,选择一个 chunk_size
# 太小会导致尝试管理
# 大量映射到缓存中的块。前者是
# 在大多数情况下,比后者更多的问题,所以默认是
# 在频谱较小的一端。支持的值范围为
# 32KiB 到 1GiB,是 32 的倍数。
# 此配置选项没有定义默认值。
# 配置选项分配/thin_pool_metadata_require_separate_pvs.
# 精简池元数据和数据将始终使用不同的 PV。
Thin_pool_metadata_require_separate_pvs = 0
# 配置选项分配/thin_pool_zero。
# 精简池数据块在首次使用之前被清零。
# 使用较大的精简池块大小进行归零会降低性能。
# 这个配置选项有一个自动的默认值。
# 瘦池零 = 1
# 配置选项分配/thin_pool_discards。
# 精简池卷的丢弃行为。
#
# 接受的值:
# 忽视
# nopassdown
# 传递
#
# 这个配置选项有一个自动的默认值。
# thin_pool_discards = "passdown"
# 配置选项分配/thin_pool_chunk_size_policy。
# 精简池卷的块大小计算策略。
#
# 接受的值:
# 通用的
# 如果定义了thin_pool_chunk_size,使用它。否则,计算
# 基于估计的块大小和暴露的设备提示
# sysfs - minimum_io_size。块大小总是至少
# 64KiB。
# 表现
# 如果定义了thin_pool_chunk_size,使用它。否则,计算
# 基于设备提示的性能块大小
# sysfs - 最佳io_size。块大小总是至少
#512KiB。
#
# 这个配置选项有一个自动的默认值。
# thin_pool_chunk_size_policy = "通用"
# 配置选项分配/thin_pool_chunk_size。
# 精简池卷的最小块大小(以 KiB 为单位)。
# 较大的块大小可能会提高普通精简卷的性能,
# 但是将它们用于快照卷效率较低,因为它
# 占用更多空间并花费额外时间进行复制。未设置时,
# lvm 尝试从 64KiB 开始估计块大小。支持的
# 值在 64KiB 到 1GiB 的范围内。
# 此配置选项没有定义默认值。
# 配置选项分配/physical_extent_size。
# 用于新 VG 的默认物理范围大小(以 KiB 为单位)。
# 这个配置选项有一个自动的默认值。
# 物理范围大小 = 4096
}
# 配置部分日志。
# LVM日志信息如何上报。
log {
# 配置选项日志/详细。
# 控制发送到 stdout 或 stderr 的消息。
verbose = 0
# 配置选项日志/静默。
# 抑制来自标准输出的所有非必要消息。
# 这和 -qq 的效果一样。启用后,以下命令
# 仍然产生输出:dumpconfig, lvdisplay, lvmdiskscan, lvs, pvck,
# pvdisplay,pvs,版本,vgcfgrestore -l,vgdisplay,vgs。
# 非必要消息从日志级别 4 转移到日志级别 5
# 用于 syslog 和 lvm2_log_fn 目的。
# 任何未被其他参数覆盖的“是”或“否”问题都是
# 抑制并默认为“否”。
silent = 0
# 配置选项 log/syslog.
# 通过 syslog 发送日志消息。
syslog = 1
# 配置选项日志/文件。
# 将错误和调试日志消息写入此处指定的文件。
# 此配置选项没有定义默认值。
# 配置选项日志/覆盖。
# 每次程序运行时覆盖日志文件。
overwrite = 0
# 配置选项日志/级别。
# 发送到日志文件或系统日志的日志消息级别。
# 目前有 6 个类似 syslog 的日志级别正在使用:2 到 7 包括在内。
# 7 是最冗长的(LOG_DEBUG)。
level = 0
# 配置选项日志/缩进。
# 根据消息的严重性缩进消息。
indent = 1
# 配置选项 log/command_names。
# 在每行输出中显示命令名称。
command_names = 0
# 配置选项日志/前缀。
# 在日志消息文本之前使用的前缀。
#(在命令名称之后,如果选择)。
# 两个空格可让您查看/grep 每条消息的严重性。
# 要使消息看起来类似于原始 LVM 工具,请使用:
# 缩进 = 0,command_names = 1,前缀 = “--”
prefix = " "
# 配置选项日志/激活。
# 在激活期间记录消息。
# 不要在内存不足的情况下使用它(可能死锁)。
activation = 0
# 配置选项 log/debug_classes。
# 按类选择日志消息。
# 一些调试消息被分配到一个类,并且只出现在
# 如果类在此处列出,则调试输出。目前上课
# 可用:内存、设备、激活、分配、lvmetad、
# 元数据、缓存、锁定、lvmpolld。使用“全部”查看所有内容。
debug_classes = [ "memory", "devices", "activation", "allocation", "lvmetad", "metadata", "cache", "locking", "lvmpolld" ]
}
# 配置节备份。
# 如何备份和归档 LVM 元数据。
# 在 LVM 中,“备份”是当前系统元数据的副本,
# 并且“存档”包含旧的元数据配置。他们是
# 以人类可读的文本格式存储。
backup{
# 配置选项备份/备份。
# 维护当前元数据配置的备份。
# 关闭此功能之前请三思而后行!
backup = 1
# 配置选项backup/backup_dir。
# 元数据备份文件的位置。
# 记得定期备份这个目录!
backup_dir = "/etc/lvm/backup"
# 配置选项备份/归档。
# 维护旧元数据配置的存档。
# 在关闭它之前要好好想想。
archive = 1
# 配置选项backup/archive_dir。
# 元数据存档文件的位置。
# 记得定期备份这个目录!
archive_dir = "/etc/lvm/archive"
# 配置选项backup/retain_min。
# 要保留的最小存档数。
tetain_min = 100
# 配置选项backup/retain_days。
# 保留归档文件的最少天数。
retain_days = 30
}
# 配置节shell。
# 在 shell (readline) 模式下运行 LVM 的设置。
shell {
# 配置选项shell/history_size。
# 存储在 ~/.lvm_history 中的历史行数。
history_size = 100
}
# 配置部分全局。
# 其他全局 LVM 设置。
global {
# 配置选项 global/umask。
# 创建的任何文件和目录的文件创建掩码。
# 如果第一个数字为零,则解释为八进制。
# SYNO
umask = 022
# 配置选项 global/test.
# 在测试模式下不会更改磁盘上的元数据。
# 相当于在每个命令上都有 -t 选项。
test = 0
# 配置选项全局/单位。
# --units 参数的默认值。
units= "h"
# 配置选项 global/si_unit_consistency。
# 区分 1024 和 1000 字节的幂。
# LVM 命令区分 1024 字节的幂,
# 例如 KiB、MiB、GiB 和 1000 字节的幂,例如 KB、MB、GB。
# 如果脚本依赖于旧的行为,禁用这个设置
# 暂时直到它们被更新。
si_unit_consistency = 1
# 配置选项全局/后缀。
# 尺寸的显示单位后缀。
# 如果单位是人类可读的形式,此设置无效
# (global/units = "h") 在这种情况下,始终显示后缀。
suffix = 1
# 配置选项全局/激活。
# 启用/禁用与内核设备映射器的通信。
# 禁止使用工具来操作 LVM 元数据
# 激活任何逻辑卷。如果设备映射器驱动程序
# 内核中不存在,禁用它应该会抑制
# 错误信息。
activation = 1
# 配置选项 global/fallback_to_lvm1.
# 如果 LVM 无法与 DM 通信,请尝试运行 LVM1 工具。
# 此选项仅适用于 2.4 内核,提供帮助
# 在设备映射器内核和 LVM1 内核之间切换。 LVM1
# 工具需要安装 .lvm1 就足够了,例如 vgscan.lvm1。
# 一旦使用 lvm2 磁盘元数据格式,它们将停止工作。
# 这个配置选项有一个自动的默认值。
# fallback_to_lvm1 = 0
# 配置选项全局/格式。
# 命令应该使用的默认元数据格式。
# -M 1|2 选项覆盖此设置。
#
# 接受的值:
#lvm1
#lvm2
#
# 这个配置选项有一个自动的默认值。
# 格式 = "lvm2"
# 配置选项 global/format_libraries。
# 处理不同元数据格式的共享库。
# 如果对 LVM1 元数据的支持被编译为共享库,请使用
# format_libraries = "liblvm2format1.so"
# 此配置选项没有定义默认值。
# 配置选项 global/segment_libraries。
# 此配置选项没有定义默认值。
# 配置选项 global/proc.
# proc 文件系统的位置。
# 这个配置选项是高级的。
proc = "/proc"
# 配置选项 global/etc.
# /etc 系统配置目录的位置。
etc=“/etc”
# 配置选项 global/locking_type。
# 要使用的锁定类型。
#
# 接受的值:
# 0
# 关闭锁定。警告:这可能会导致元数据损坏,如果
# 命令同时运行。
# 1
# LVM 使用基于本地文件的锁定,标准模式。
#2
# LVM 使用外部共享库locking_library。
# 3
# LVM 使用带有 cvmd 的内置集群锁定。
# 这与 lvmetad 不兼容。如果启用了 use_lvmetad,
# LVM 打印警告并禁用 lvmetad 使用。
#4
# LVM 使用只读锁定,它禁止任何操作
# 可能会更改元数据。
# 5
# 为不需要任何锁的工具提供虚拟锁定。
# 你不需要直接设置它;工具将选择
# 何时使用它而不是配置的locking_type。
# 不要将 lvmetad 或内核设备映射器驱动程序与此一起使用
# 锁定类型。它由提供的 --readonly 选项使用
# 对无法锁定的卷组元数据的只读访问
# 安全,因为它属于一个不可访问的域,并且可能是
# 正在使用中,例如虚拟机映像或正在使用的磁盘
# 由集群机器共享。
#
locking_type = 1
# 配置选项 global/wait_for_locks。
# 禁用时,如果锁定请求会阻塞,则失败。
wait_for_locks = 1
# 配置选项 global/fallback_to_clustered_locking。
# 如果locking_type 2 失败,尝试使用内置集群锁定。
# 如果使用外部锁定(类型 2)并且初始化失败,使用
# 启用后,将尝试使用内置的集群
#锁定。如果使用自定义的locking_library,请禁用此功能。
fallback_to_clustered_locking = 1
# 配置选项 global/fallback_to_local_locking。
# 如果locking_type 2 或3 失败,使用locking_type 1 (local)。
# 如果尝试初始化类型 2 或类型 3 锁定失败,可能
# 因为clvmd等集群组件没有运行,用这个
# 启用,将尝试使用基于本地文件的锁定
#(类型 1)。如果成功,则只有针对本地 VG 的命令将
# 继续。标记为集群的 VG 将被忽略。
fallback_to_local_locking = 1
# 配置选项 global/locking_dir。
# 用于 LVM 命令文件锁定的目录。
# 本地非 LV 目录,在命令执行时持有基于文件的锁
# 进行中。像 /tmp 这样可能在重新启动时被擦除的目录是可以的。
lock_dir = "/var/lock/lvm"
# 配置选项 global/prioritise_write_locks。
# 在大容量读取访问期间允许更快的 VG 写入访问。
# 当有竞争的只读和读写访问请求时
# 卷组的元数据,而不是总是授予只读权限
# 立即请求,延迟它们以允许读写请求
#得到服务。如果没有这个设置,写访问可能会被
# 大量只读请求。此选项仅影响
#locking_type 1 即。基于本地文件的锁定。
priority_write_locks = 1
# 配置选项 global/library_dir。
# 首先在该目录中搜索共享库。
# 此配置选项没有定义默认值。
# 配置选项 global/locking_library。
# 用于locking_type 2的外部锁定库。
# 这个配置选项有一个自动的默认值。
#locking_library = "liblvm2clusterlock.so"
# 配置选项 global/abort_on_internal_errors。
# 中止遇到内部错误的命令。
# 将任何内部错误视为致命错误,终止该进程
# 遇到内部错误。请仅启用调试。
abort_on_internal_errors = 0
# 配置选项 global/detect_internal_vg_cache_corruption。
# VG 结构的内部验证。
# 当一个解析的VG被多次使用时,检查CRC是否匹配。这个
# 对于捕获对缓存的 VG 结构的意外更改很有用。
# 请仅启用调试。
detect_internal_vg_cache_corruption = 0
# 配置选项 global/metadata_read_only。
# 不允许更改磁盘元数据的操作。
# 另外,只读命令遇到需要的元数据
# 修复仍将被允许进行,就像修复已完成一样
# 已执行(除了未更改的 vg_seqno)。不当
# 使用可能会弄乱你的系统,所以请先咨询!
metadata_read_only = 0
# 配置选项 global/mirror_segtype_default。
# 短镜像选项-m使用的段类型。
# --type mirror|raid1 选项覆盖此设置。
#
# 接受的值:
# 镜子
# 来自 LVM/DM 的原始 RAID1 实现。这是
# 特点是灵活的日志解决方案(核心、磁盘、镜像),
# 并且在处理故障时需要阻塞 I/O。
# dmeventd 故障处理逻辑中存在固有的竞争
# 使用这种类型的 RAID1 的设备的快照,在
# 最坏的情况可能会导致死锁。 (另见
# 设备/ignore_lvm_mirrors。)
# 突袭1
# 这是使用 MD RAID1 的较新的 RAID1 实现
# 个性通过设备映射器。它的特点是
# 缺少日志选项。 (日志总是为每个
# 设备,它们与图像放置在同一设备上,
# 所以不需要单独的设备。)这个镜像
# 实现时不需要阻塞 I/O
# 处理失败。这个镜像实现不是
# 集群感知,不能用于共享(主动/主动)
# 集群中的时尚。
#
mirror_segtype_default = "raid1"
# 配置选项 global/raid10_segtype_default。
# -i -m 组合使用的段类型。
# --type raid10|mirror 选项覆盖此设置。
# --stripes/-i 和 --mirrors/-m 选项都可以指定
# 在创建逻辑卷期间同时使用条带化和
# 为 LV 镜像。有两种不同的实现。
#
# 接受的值:
#raid10
# LVM 通过 DM 使用 MD 的 RAID10 个性。这是
# 首选选项。
# 镜子
# LVM 对 'mirror' 和 'stripe' 段类型进行分层。层次感
# 是通过在条带子 LV 之上创建一个镜像 LV 来完成的,
# 有效地创建一个 RAID 0+1 阵列。分层是次优的
# 在提供冗余和性能方面。
#
raid10_segtype_default = "raid10"
# 配置选项 global/sparse_segtype_default。
# -V -L 组合使用的段类型。
# --type snapshot|thin 选项覆盖此设置。
# -V 和 -L 选项的组合创建一个稀疏 LV。有
# 两种不同的实现。
#
# 接受的值:
# 快照
# 来自 LVM/DM 的原始快照实现。它使用一个旧的
# 在单个 COW 中混合数据和元数据的快照
# 存储体积和存储数据大小时性能不佳
# 传递数百 MB。
# 薄的
# 使用精简配置的较新实现。它有一个
# 更大的最小块大小(64KiB)并使用单独的卷
# 元数据。它具有更好的性能,尤其是在更多数据时
# 用来。它还支持完整快照。
#
sparse_segtype_default = “thin”
# 配置选项 global/lvdisplay_shows_full_device_path.
# 启用此项以恢复以前的 lvdisplay 名称格式。
# lvdisplay 中显示 LV 名称的默认格式已更改
# 在 2.02.89 版本中分别显示 LV 名称和路径。
# 以前这总是显示为 /dev/vgname/lvname 即使是
# 在 /dev 文件系统中从来不是一个有效的路径。
# 这个配置选项有一个自动的默认值。
# lvdisplay_shows_full_device_path = 0
# 配置选项 global/use_lvmetad.
# 使用 lvmetad 缓存元数据,减少磁盘扫描。
# 启用(并运行)时,lvmetad 提供带有 VG 的 LVM 命令
# 元数据和 PV 状态。 LVM 命令然后避免阅读这个
# 来自可能很慢的磁盘的信息。禁用时(或不禁用
# running),LVM 命令回退到扫描磁盘以获取 VG
# 元数据。 lvmetad 通过必须设置的 udev 规则保持更新
# 让 LVM 正常工作。 (需要安装udev规则
# 默认情况下。)如果没有正确的 udev 设置,系统的更改
# 块设备配置对于 LVM 来说是未知的,并且被忽略
# 直到手动运行“pvscan --cache”。如果 lvmetad 正在运行
# 当 use_lvmetad 被禁用时,它必须被停止,use_lvmetad
# 启用,然后启动。使用 lvmetad 时,LV 激活是
# 切换到基于事件的自动模式。在这种模式下,LV 是
# 根据传入的 udev 事件激活,该事件通知 lvmetad 何时
# PV 出现在系统上。当一个 VG 完成时(所有 PV 都存在),
# 它是自动激活的。 auto_activation_volume_list 设置
# 控制哪些 LV 被自动激活(全部默认。)
# 当 lvmetad 更新时(由 udev 事件自动更新,或直接
# 通过 pvscan --cache),设备/过滤器被忽略,所有设备都被
# 默认扫描。 lvmetad 始终保留未过滤的信息
# 提供给 LVM 命令。然后每个 LVM 命令过滤
# 基于设备/过滤器。这不适用于其他非正则表达式,
#过滤设置:多路径、MD等组件过滤器
# 在 pvscan --cache 期间检查。过滤设备并防止
# 完全从 LVM 系统扫描,包括 lvmetad,使用
# 设备/global_filter。
使用_lvmetad = 0
# 配置选项 global/use_lvmlockd。
# 使用 lvmlockd 在共享存储上使用 LVM 的主机之间进行锁定。
# 更多信息请参见 lvmlockd(8)。
use_lvmlockd = 0
# 配置选项 global/lvmlockd_lock_retries。
# 多次重试 lvmlockd 锁请求。
# 这个配置选项有一个自动的默认值。
# lvmlockd_lock_retries = 3
# 配置选项 global/sanlock_lv_extend.
# 以 MiB 为单位的大小,以扩展持有 sanlock 锁的内部 LV。
# 内部 LV 为 VG 中的每个 LV 持有锁,并且在足够多之后
# LVs已经创建,内部LV需要扩展。 lvcreate
# 将在需要时自动扩展内部 LV
# 这里指定。将此设置为 0 将禁用自动扩展
# 并且可能导致 lvcreate 失败。
# 这个配置选项有一个自动的默认值。
# sanlock_lv_extend = 256
# 配置选项 global/thin_check_executable。
# thin_check 命令的完整路径。
# LVM 使用此命令检查精简元数据设备是否位于
# 可用状态。精简池激活时和激活后
# 停用,运行此命令。只有在以下情况下才会进行激活
# 该命令的退出状态为 0。设置为“”以跳过此检查。
# (不推荐。)另见thin_check_options。
# (参见 package device-mapper-persistent-data 或 Thin-provisioning-tools)
# 这个配置选项有一个自动的默认值。
# thin_check_executable = "/usr/sbin/thin_check"
# 配置选项 global/thin_dump_executable。
# thin_dump 命令的完整路径。
# LVM 使用此命令转储精简池元数据。
# (参见 package device-mapper-persistent-data 或 Thin-provisioning-tools)
# 这个配置选项有一个自动的默认值。
# thin_dump_executable = "/usr/sbin/thin_dump"
# 配置选项 global/thin_repair_executable。
# thin_repair 命令的完整路径。
# LVM 使用此命令修复精简元数据设备(如果它位于
# 一个不可用的状态。另请参阅 thin_repair_options。
# (参见 package device-mapper-persistent-data 或 Thin-provisioning-tools)
# 这个配置选项有一个自动的默认值。
# thin_repair_executable = "/usr/sbin/thin_repair"
# 配置选项 global/thin_check_options.
# 传递给 thin_check 命令的选项列表。
# 使用 Thin_check 2.1 或更高版本,您可以添加选项
# --ignore-non-fatal-errors 让它通过可忽略的错误
# 并稍后修复它们。使用 Thin_check 3.2 或更高版本,您应该
# 包括选项--clear-needs-check-flag。
# 这个配置选项有一个自动的默认值。
# thin_check_options = [“-q”,“--clear-needs-check-flag”]
# 配置选项 global/thin_repair_options.
# 传递给 thin_repair 命令的选项列表。
# 这个配置选项有一个自动的默认值。
# thin_repair_options = [ "" ]
# 配置选项 global/thin_disabled_features。
# 在瘦驱动程序中不使用的功能。
# 这对测试很有帮助,或者避免使用
#导致问题。特征包括:block_size、discards、
#discards_non_power_2、external_origin、metadata_resize、
# external_origin_extend,error_if_no_space。
#
# 例子
# thin_disabled_features = [ "discards", "block_size" ]
#
# 此配置选项没有定义默认值。
# 配置选项 global/cache_disabled_features。
# 不在缓存驱动程序中使用的功能。
# 这对测试很有帮助,或者避免使用
#导致问题。功能包括:policy_mq、policy_smq。
#
# 例子
# cache_disabled_features = [ "policy_smq" ]
#
# 此配置选项没有定义默认值。
# 配置选项 global/cache_check_executable。
# cache_check 命令的完整路径。
# LVM 使用此命令检查缓存元数据设备是否在
# 可用状态。当缓存的 LV 被激活时和之后
# 停用,运行此命令。只有在
# 命令的退出状态为 0。设置为“”以跳过此检查。
# (不推荐。)另见 cache_check_options。
# (参见 package device-mapper-persistent-data 或 Thin-provisioning-tools)
# 这个配置选项有一个自动的默认值。
# cache_check_executable = "/usr/sbin/cache_check"
# 配置选项 global/cache_dump_executable。
# cache_dump 命令的完整路径。
# LVM 使用此命令转储缓存池元数据。
# (参见 package device-mapper-persistent-data 或 Thin-provisioning-tools)
# 这个配置选项有一个自动的默认值。
# cache_dump_executable = "/usr/sbin/cache_dump"
# 配置选项 global/cache_repair_executable。
# cache_repair 命令的完整路径。
# LVM 使用此命令修复缓存元数据设备,如果它在
# 一个不可用的状态。另请参阅 cache_repair_options。
# (参见 package device-mapper-persistent-data 或 Thin-provisioning-tools)
# 这个配置选项有一个自动的默认值。
# cache_repair_executable = "/usr/sbin/cache_repair"
# 配置选项 global/cache_check_options.
# 传递给 cache_check 命令的选项列表。
# 使用 cache_check 5.0 或更高版本时,您应该包含该选项
# --clear-needs-check-flag。
# 这个配置选项有一个自动的默认值。
# cache_check_options = [“-q”,“--clear-needs-check-flag”]
# 配置选项 global/cache_repair_options.
# 传递给 cache_repair 命令的选项列表。
# 这个配置选项有一个自动的默认值。
# cache_repair_options = [ "" ]
# 配置选项 global/system_id_source。
# LVM用来设置本地系统ID的方法。
# 卷组也可以被赋予一个系统 ID(通过 vgcreate、vgchange、
# 或 vgimport。)共享存储设备上的 VG 只能访问
# 具有匹配系统 ID 的主机。请参阅“man lvmsystemid”了解
# 有关限制和正确使用的信息。
#
# 接受的值:
# 没有任何
# 主机没有系统ID。
# lvm本地
# 从'local'中的system_id设置中获取系统ID
# lvm 配置文件的部分,例如 lvmlocal.conf。
# 无名
# 根据系统的主机名(uname)设置系统ID。
# 不允许以 localhost 开头的系统 ID。
# 机器ID
# 使用machine-id文件的内容来设置系统ID。
# 一些系统在安装时创建这个文件。
# 参见“man machine-id”和全局/等。
# 文件
# 使用另一个文件(system_id_file)的内容来设置
# 系统标识。
#
system_id_source = "none"
# 配置选项 global/system_id_file.
# 包含系统 ID 的文件的完整路径。
# 这在 system_id_source 设置为 'file' 时使用。
# 以字符 # 开头的注释将被忽略。
# 此配置选项没有定义默认值。
# 配置选项 global/use_lvmpolld.
# 使用 lvmpolld 监督长时间运行的 LVM 命令。
# 启用后,将转移对长时间运行的 LVM 命令的控制
# 从原始 LVM 命令到 lvmpolld 守护进程。这允许
# 操作继续独立于原始 LVM 命令。
# lvmpolld接管后,LVM命令显示进度
# 正在进行的操作。 lvmpolld 本身运行 LVM 命令以
# 管理正在进行的操作的进度。 lvmpolld 可以用作
# 一个本机 systemd 服务,允许它按需启动,
# 并使用自己的对照组。禁用此选项时,LVM
# 命令将通过分叉来监督长时间运行的操作。
use_lvmpolld = 0
}
# 配置部分激活。
activation{
# 配置选项激活/检查。
# 执行 libdevmapper 操作的内部检查。
# 对于调试激活问题很有用。一些检查可能
# 很贵,所以最好只在似乎有
# 问题。
checks = 0
# 配置选项激活/udev_sync。
# 使用 udev 通知同步 udev 和 LVM。
# --nodevsync 选项覆盖此设置。
# 禁用时,LVM 命令不会等待来自的通知
# udev,但不管任何可能的 udev 处理都继续
# 的背景。仅在 udev 未运行或有规则时使用
# 忽略 LVM 创建的设备。如果在 udev 未启用时启用
# 正在运行,并且 LVM 进程正在等待 udev,运行命令
# 'dmsetup udevcomplete_all' 唤醒他们。
udev_sync = 1
# 配置选项activation/udev_rules。
# 使用 udev 规则管理 LV 设备节点和符号链接。
# 禁用时,LVM 将管理设备节点和符号链接
# 活动 LV 本身。如果出现这种情况,可能需要人工干预
# 设置在 LV 处于活动状态时更改。
udev_rules = 1
# 配置选项activation/verify_udev_operations。
# 在 LVM 中使用额外的检查来验证 udev 操作。
# 这可以对条目进行额外检查(必要时进行修复)
# 在 udev 完成处理后的设备目录中
# 事件。用于诊断 LVM/udev 交互问题。
verify_udev_operations = 0
# 配置选项activation/retry_deactivation。
# 重试失败的LV去激活。
# 如果LV去激活失败,LVM会重试几秒
# 失败。这可能是因为进程从快速 udev 规则运行
# 暂时打开设备。
retry_deactivation = 1
# 配置选项activation/missing_stripe_filler。
# 激活不完整 LV 时填充缺失条纹的方法。
# 使用 'error' 将使设备的不可访问部分返回 I/O
# 访问错误。您可以改为使用设备路径,在这种情况下,
# 该设备将用于代替缺失的条纹。使用任何东西
# 除了镜像或快照卷的“错误”之外,很可能
# 导致数据损坏。
# 这个配置选项是高级的。
missing_stripe_filler = "error"
# 配置选项activation/use_linear_target。
# 使用线性目标优化单条带LV。
# 禁用时,使用条带化目标。线性目标是
# 条带化目标的优化版本,只处理一个
# 条纹。
use_linear_target = 1
# 配置选项activation/reserved_stack。
# 以 KiB 为单位的堆栈大小,用于在设备挂起时保留使用。
# 预留不足会导致设备挂起时出现 I/O 死锁。
reserved_stack = 64
# 配置选项activation/reserved_memory。
# 以 KiB 为单位的内存大小,用于在设备挂起时保留使用。
# 预留不足会导致设备挂起时出现 I/O 死锁。
reserved_memory = 8192
# 配置选项activation/process_priority。
# 设备挂起时使用的好值。
# 使用高优先级,以便 LV 被挂起
# 尽可能短的时间。
process_priority = -18
# 配置选项激活/volume_list。
# 仅激活此列表中选择的 LV。
# 如果定义了这个列表,一个LV只有在它匹配一个时才会被激活
# 此列表中的条目。如果此列表未定义,则不施加任何限制
# 在 LV 激活时(都允许)。
#
# 接受的值:
#vg名称
# VG名称完全匹配,选择VG中的所有LV。
# vgname/lvname
# VG名称和LV名称完全匹配,选择LV。
# @标签
# 如果指定的标签与 LV 上设置的标签匹配,则选择一个 LV
# 或 VG。
#@*
# 如果在主机上定义的标签也设置在 LV 上,则选择一个 LV
# 或 VG。请参阅标签/主机标签。如果存在任何主机标签但 volume_list
# 未定义,包含'@*'的默认单项列表是
#假设。
#
# 例子
#volume_list = [“vg1”、“vg2/lvol1”、“@tag1”、“@*”]
#
# 此配置选项没有定义默认值。
# 配置选项激活/auto_activation_volume_list。
# 只有这个列表选择的 LVs 是自动激活的。
# 这个列表的作用类似于volume_list,但它仅供以下用户使用
# 自动激活命令。它不适用于直接激活
# 命令。如果定义了此列表,则仅自动激活 LV
# 如果它匹配此列表中的条目。如果此列表未定义,则
# 对 LV 自动激活没有任何限制(所有都允许。)如果这
# list 已定义且为空,即“[]”,则不选择任何 LV
# 自动激活。此列表选择的 LV 用于
# 自动激活,也必须由 volume_list 选择(如果已定义)
# 在它被激活之前。自动激活是一个激活命令,它
# 包括“a”参数:--activate ay 或 -a ay。 'a'(自动)
# 自动激活的参数意味着激活使用
# 由系统自动运行的命令,与 LVM 不同
# 命令由用户直接运行。用户也可以使用“a”标志
# 直接执行自动激活。另请参阅 pvscan(8) 了解更多信息
# 关于自动激活的信息。
#
# 接受的值:
#vg名称
# VG名称完全匹配,选择VG中的所有LV。
# vgname/lvname
# VG名称和LV名称完全匹配,选择LV。
# @标签
# 如果指定的标签与 LV 上设置的标签匹配,则选择一个 LV
# 或 VG。
#@*
# 如果在主机上定义的标签也设置在 LV 上,则选择一个 LV
# 或 VG。请参阅标签/主机标签。如果存在任何主机标签但 volume_list
# 未定义,包含'@*'的默认单项列表是
#假设。
#
# 例子
#volume_list = [“vg1”、“vg2/lvol1”、“@tag1”、“@*”]
#
# 此配置选项没有定义默认值。
# 配置选项激活/read_only_volume_list。
# 此列表中的 LV 以只读模式激活。
# 如果定义了此列表,则检查每个要激活的 LV
# 针对此列表,如果匹配,则以只读方式激活
# 模式。这会覆盖存储在元数据中的权限设置,
# 例如来自 --permission rw。
#
# 接受的值:
#vg名称
# VG名称完全匹配,选择VG中的所有LV。
# vgname/lvname
# VG名称和LV名称完全匹配,选择LV。
# @标签
# 如果指定的标签与 LV 上设置的标签匹配,则选择一个 LV
# 或 VG。
#@*
# 如果在主机上定义的标签也设置在 LV 上,则选择一个 LV
# 或 VG。请参阅标签/主机标签。如果存在任何主机标签但 volume_list
# 未定义,包含'@*'的默认单项列表是
#假设。
#
# 例子
#volume_list = [“vg1”、“vg2/lvol1”、“@tag1”、“@*”]
#
# 此配置选项没有定义默认值。
# 配置选项激活/raid_region_size。
# 每个raid或镜像同步区域的KiB大小。
# 对于raid 或mirror 段类型,这是数据量
# 初始化时立即复制,或通过 pvmove 立即移动。
raid_region_size = 512
# 配置选项激活/error_when_full。
# 如果精简池空间不足,则返回错误。
# --errorwhenfull 选项覆盖此设置。
# 启用后,写入精简 LV 会立即返回错误,如果
# 精简池数据空间不足。禁用时,写入精简 LV
# 如果精简池空间不足,则排队,并在
# 精简池数据空间被扩展。新的精简池分配给
# 此处定义的行为。
# 这个配置选项有一个自动的默认值。
#error_when_full = 0
# 配置选项激活/预读。
# 在元数据中没有预读设置时使用的设置。
#
# 接受的值:
# 没有任何
# 禁用预读。
# 汽车
# 使用内核选择的默认值。
#
readahead = "auto"
# 配置选项激活/raid_fault_policy。
# 定义如何处理 RAID LV 中的设备故障。
# 这包括具有以下段类型的 LV:
#raid1、raid4、raid5* 和 raid6*。
# 如果LV中的设备发生故障,策略决定步骤
# 由 dmeventd 自动执行,以及由 dmeventd 执行的步骤
# 手动命令 lvconvert --repair --use-policies。
# 自动处理需要 dmeventd 来监控 LV。
#
# 接受的值:
# 警告
# 使用系统日志警告用户,RAID LV 中有设备
# 失败了。留给用户运行 lvconvert --repair
# 手动移除或更换故障设备。只要
# 故障设备的数量不超过 LV 的冗余
#(raid4/5 1 个设备,raid6 2 个设备),LV 将保持可用。
# 分配
# 尝试使用 VG 中的任何额外物理卷作为备用卷和
#更换故障设备。
#
raid_fault_policy = "warn"
# 配置选项激活/mirror_image_fault_policy。
# 定义如何处理“镜像”LV 中的设备故障。
# 一个 'mirror' 段类型的 LV 由镜像组成
#(副本)和镜像日志。磁盘日志确保镜像 LV 确实
# 不需要每次都重新同步(所有副本都一样)
# 机器重启或崩溃。如果 LV 中的设备发生故障,此策略
# 确定 dmeventd 自动执行的步骤,以及步骤
# 由手动命令 lvconvert --repair --use-policies 执行。
# 自动处理需要 dmeventd 来监控 LV。
#
# 接受的值:
# 消除
# 只需移除故障设备并在没有它的情况下运行。如果日志
# 设备失败,镜像将转换为使用内存日志。
# 这意味着镜像不会记住它的同步状态
# 崩溃/重启,整个镜像将重新同步。如果一个
# 镜像失败,镜像会转为非镜像
# 设备,如果只剩下一个好的副本。
# 分配
# 移除故障设备并尝试在新设备上分配空间
# 设备作为故障设备的替代品。使用这个
# 日志策略快速且保持记忆的能力
# 通过崩溃/重启同步状态。将此政策用于
# 镜像设备很慢,因为它需要镜像重新同步
# 设备,但它会保留镜像特性
# 设备。如果没有合适的设备,此政策的作用类似于“删除”
# 并且可以为替换分配空间。
# allocate_anywhere
# 尚未实现。用于临时放置日志设备
# 在与镜像之一相同的物理卷上。这个
# 不建议对镜像设备使用策略,因为它会破坏
# 镜像的冗余特性。该政策的作用类似于
# 'remove' 如果没有合适的设备和空间可以分配给
# 替代品。
#
mirror_image_fault_policy = "remove"
# 配置选项激活/mirror_log_fault_policy。
# 定义如何处理“镜像”日志 LV 中的设备故障。
# 镜像 LV 的 mirror_image_fault_policy 描述也是
# 适用于镜像日志 LV。
mirror_log_fault_policy = "allocate"
# 配置选项activation/snapshot_autoextend_threshold。
# 当快照的使用率超过这个百分比时自动扩展快照。
# 将此设置为 100 将禁用自动扩展。
# 最小值为50(较小的值被视为50。)
# 另见 snapshot_autoextend_percent。
# 自动扩展需要 dmeventd 来监控 LV。
#
# 例子
# 使用 70% 自动扩展阈值和 20% 自动扩展大小,当 1G
# 快照超过700M,扩展为1.2G,超过时
# 840M,扩展到1.44G:
# 快照自动扩展阈值 = 70
#
snapshot_autoextend_threshold = 100
# 配置选项activation/snapshot_autoextend_percent。
# 自动扩展快照会增加这个百分比的额外空间。
# 添加到快照的额外空间量是这个
# 当前大小的百分比。
#
# 例子
# 使用 70% 自动扩展阈值和 20% 自动扩展大小,当 1G
# 快照超过700M,扩展为1.2G,超过时
# 840M,扩展到1.44G:
# 快照自动扩展百分比 = 20
#
snapshot_autoextend_percent = 20
# 配置选项activation/thin_pool_autoextend_threshold。
# 当使用量超过这个百分比时自动扩展精简池。
# 将此设置为 100 将禁用自动扩展。
# 最小值为50(较小的值被视为50。)
# 另见thin_pool_autoextend_percent。
# 自动扩展需要 dmeventd 来监控 LV。
#
# 例子
# 使用 70% 自动扩展阈值和 20% 自动扩展大小,当 1G
#精简池超过700M,扩容到1.2G,超过时
# 840M,扩展到1.44G:
# thin_pool_autoextend_threshold = 70
#
thin_pool_autoextend_threshold = 100
# 配置选项activation/thin_pool_autoextend_percent。
# 自动扩展精简池会增加这个百分比的额外空间。
# 添加到精简池的额外空间量是这个
# 当前大小的百分比。
#
# 例子
# 使用 70% 自动扩展阈值和 20% 自动扩展大小,当 1G
#精简池超过700M,扩容到1.2G,超过时
# 840M,扩展到1.44G:
# thin_pool_autoextend_percent = 20
#
thin_pool_autoextend_percent = 20
# 配置选项activation/mlock_filter。
# 不要锁定这些内存区域。
# 在激活设备时,正在(重新)配置的设备的 I/O 是
# 暂停。作为防止死锁的预防措施,LVM 将内存固定在
# 使用所以它不会被分页,并且不需要 I/O 重新读取。
# 激活期间已知不被访问的页面组
# 不需要固定到内存中。此中列出的每个字符串
# 设置与 /proc/self/maps 中的每一行进行比较,然后
# 与匹配的行对应的页面未固定。一些
# systems, locale-archive 占内存的 80% 以上
# 进程使用。
#
# 例子
# mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ]
#
# 这个配置选项是高级的。
# 此配置选项没有定义默认值。
# 配置选项activation/use_mlockall。
# 使用 mlockall 的旧行为来固定所有内存。
# 在 2.02.62 版本之前,LVM 使用 mlockall() 来固定整个
# 激活设备时进程的内存。
use_mlockall = 0
# 配置选项激活/监控。
# 监控被激活的LV。
# --ignoremonitoring 选项覆盖此设置。
# 启用后,LVM 将要求 dmeventd 监控激活的 LV。
monitoring = 1
# 配置选项activation/polling_interval。
# 在此间隔(秒)检查 pvmove 或 lvconvert 进度。
# 当 pvmove 或 lvconvert 必须等待内核完成时
# 同步或合并数据,他们检查并报告进度
# 此秒数的间隔。如果这设置为 0 并且有
# 只等一件事,没有进度报告,但是
# 操作完成后立即唤醒进程。
polling_interval = 15
# 配置选项激活/auto_set_activation_skip。
# 在新的精简快照LV上设置激活跳过标志。
# --setactivationskip 选项覆盖此设置。
# 一个 LV 可以有一个持久的“激活跳过”标志。该标志导致
# 在正常激活期间要跳过的 LV。 lvchange/vgchange
# -K 选项是激活跳过激活的 LV 所必需的
# 标志设置。启用此设置时,激活跳过标志为
# 在新的精简快照 LV 上设置。
# 这个配置选项有一个自动的默认值。
# auto_set_activation_skip = 1
# 配置选项activation/activation_mode。
# 如何激活缺少设备的 LV。
# --activationmode 选项覆盖此设置。
#
# 接受的值:
# 完全的
# 仅当所有物理卷都允许激活一个 LV
# 用途存在。卷组中的其他 PV 可能会丢失。
# 降级
# 像完整的,但还有段类型 raid1 的 RAID LV,
# raid4、raid5、radid6、raid10如果没有就会被激活
# 数据丢失,即它们有足够的冗余来呈现
# 逻辑卷的整个可寻址范围。
# 部分的
# 允许激活任何 LV,即使 PV 丢失或失败
# 可能会导致数据丢失,部分 LV 无法访问。
# 此设置通常不应该使用,但有时可能会使用
# 协助数据恢复。
#
激活模式=“降级”
# 配置选项激活/lock_start_list。
# 仅对该列表选择的 VG 开始锁定。
# 规则与volume_list的规则相同。
# 此配置选项没有定义默认值。
# 配置选项激活/auto_lock_start_list。
# 锁定仅针对此列表选择的 VG 自动启动。
# 规则与auto_activation_volume_list 相同。
# 此配置选项没有定义默认值。
}
# 配置部分元数据。
# 这个配置部分有一个自动的默认值。
#元数据{
# 配置选项 metadata/pvmetadatacopies.
# 要存储在每个 PV 上的元数据副本数。
# --pvmetadatacopies 选项覆盖此设置。
#
# 接受的值:
#2
# VG 元数据的两份副本存储在 PV 上,一份在
# PV 前面,后面一个。
# 1
# VG 元数据的一份副本存储在 PV 的前面。
# 0
# PV 上没有存储 VG 元数据的副本。这可能是
# 对于包含大量 PV 的 VG 很有用。
#
# 这个配置选项是高级的。
# 这个配置选项有一个自动的默认值。
# pvmetadatacopies = 1
# 配置选项 metadata/vgmetadatacopies。
# 为每个 VG 维护的元数据副本数。
# --vgmetadatacopies 选项覆盖此设置。
# 如果设置为非零值,LVM 会自动选择哪个
# 可用的元数据区域用于实现请求的数量
# VG 元数据的副本。如果您设置的值大于
# 可用的元数据区域总数,然后元数据存储在
# 商场。值 0(非托管)禁用此自动管理
# 并允许您控制在
# 使用 pvchange --metadataignore y|n 的单个 PV 级别。
# 这个配置选项有一个自动的默认值。
# vgmetadatacopies = 0
# 配置选项元数据/pvmetadatasize。
# 用于每个元数据副本的大致扇区数。
# 具有大量 PV 或 LV 的 VG,或包含复杂 LV 的 VG
# 结构,可能需要额外的空间来存放 VG 元数据。元数据
# 区域被视为循环缓冲区,因此未使用的空间被填满
# 带有元数据最新版本的存档。
# 这个配置选项有一个自动的默认值。
# pvmetadatasize = 255
# 配置选项 metadata/pvmetadataignore.
# 忽略新 PV 上的元数据区域。
# --metadataignore 选项覆盖此设置。
# 如果 PV 上的元数据区域被忽略,LVM 不会存储元数据
# 在他们中。
# 这个配置选项是高级的。
# 这个配置选项有一个自动的默认值。
# pvmetadataignore = 0
# 配置选项 metadata/stripesize。
# 这个配置选项是高级的。
# 这个配置选项有一个自动的默认值。
# 条纹大小 = 64
# 配置选项元数据/目录。
# 保存文本格式元数据的实时副本的目录。
# 这些目录不能在逻辑卷上!
# 可以在这里使用带有几个目录的 LVM,
# 最好在不同的(非 LV)文件系统上,并且没有其他文件系统
# 磁盘元数据 (pvmetadatacopies = 0)。或者这可以是另外的
# 到磁盘元数据区域。该功能最初添加到
# 简化测试,在内存不足的情况下不支持 -
# 机器可能会锁定。永远不要编辑这些目录中的任何文件
# 手动操作,除非您完全确定自己知道自己在做什么!
# 使用提供的工具集进行更改(例如 vgcfgrestore)。
#
# 例子
# dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
#
# 这个配置选项是高级的。
# 此配置选项没有定义默认值。
# }
# 配置部分报告。
# LVM 报告命令输出格式。
# 这个配置部分有一个自动的默认值。
# 报告 {
# 配置选项报告/compact_output。
# 不要打印空的报告字段。
# 没有为报告的任何行设置值的字段是
# 跳过且不打印。紧凑输出仅适用于
# 报告/缓冲已启用。
# 这个配置选项有一个自动的默认值。
# 紧凑输出 = 0
# 配置选项报告/对齐。
# 对齐报告输出中的列。
# 这个配置选项有一个自动的默认值。
# 对齐 = 1
# 配置选项报告/缓冲。
# 缓冲报告输出。
# 使用缓冲报告时,附加报告的内容
# 增量地包括每个被报告的对象,直到报告
# 被刷新到通常在命令结束时发生的输出
# 执行。否则,如果不使用缓冲,每个对象都是
# 处理完成后立即报告。
# 这个配置选项有一个自动的默认值。
# 缓冲 = 1
# 配置选项报告/标题。
# 显示报告列的标题。
# 这个配置选项有一个自动的默认值。
# 标题 = 1
# 配置选项报告/分隔符。
# 在每个字段之后的报告中使用的分隔符。
# 这个配置选项有一个自动的默认值。
# 分隔符 = " "
# 配置选项report/list_item_separator。
# 报告时用于列表项的分隔符。
# 这个配置选项有一个自动的默认值。
# list_item_separator = ","
# 配置选项报告/前缀。
# 为每个报告的字段使用字段名称前缀。
# 这个配置选项有一个自动的默认值。
# 前缀 = 0
# 配置选项报告/引用。
# 使用字段名称前缀时引用字段值。
# 这个配置选项有一个自动的默认值。
# 引用 = 1
# 配置选项report/colums_as_rows.
# 将每一列输出为一行。
# 如果设置,这也意味着报告/前缀=1。
# 这个配置选项有一个自动的默认值。
#colums_as_rows = 0
# 配置选项报告/binary_values_as_numeric。
# 使用二进制值 0 或 1 而不是描述性文字值。
# 对于有两个要报告的有效值的列
# (不计算“未知”值,它表示
# 值无法确定)。
# 这个配置选项有一个自动的默认值。
# binary_values_as_numeric = 0
# 配置选项报告/时间格式。
# 设置字段报告时间值的时间格式。
# 格式规范是一个可能包含特殊字符的字符串
# 序列和普通字符序列。普通人物
# 序列是逐字复制的。每个特殊字符序列是
# 由 '%' 字符引入,然后是这样的序列
# 替换为如下所述的值。
#
# 接受的值:
# %一个
# 根据星期几的缩写名称
# 当前语言环境。
# %一个
# 根据当前星期几的全称
# 语言环境。
# %b
# 根据当前语言环境的缩写月份名称。
# %B
# 根据当前语言环境的完整月份名称。
# %C
# 当前的首选日期和时间表示
# 语言环境(alt E)
# %C
# 世纪数(年/100)为 2 位整数。 (替代 E)
# %d
# 以十进制数表示的月份中的日期(范围 01 到 31)。
# (alt O)
# %D
# 等价于 %m/%d/%y。 (仅限美国人。美国人应该
# 请注意,在其他国家/地区%d/%m/%y 相当普遍。这个
# 表示在国际背景下,这种格式是模棱两可的,并且
# 不应使用。
# %e
# 像 %d 一样,将月份中的日期作为十进制数,但前导
# 零替换为空格。 (替代 O)
# %E
# 修饰符:使用替代的局部依赖表示 if
# 可用的。
# %F
# 等价于 %Y-%m-%d(ISO 8601 日期格式)。
# %G
# ISO 8601 基于周的年份,世纪为十进制数。
# 对应于 ISO 周数的 4 位数年份(参见 %V)。
# 这与 %Y 具有相同的格式和值,除了如果
# ISO周数属于上一年或下一年,那一年
# 改为使用。
# %G
# 与 %G 类似,但没有世纪,即带有 2 位数字的年份
# (00-99)。
# %H
# 等价于 %b。
# %H
# 使用 24 小时制的十进制数字小时
#(范围 00 到 23)。 (替代 O)
# %我
# 小时作为十进制数,使用 12 小时制
#(范围 01 到 12)。 (替代 O)
# %j
# 一年中的日期,十进制数(范围 001 到 366)。
# %k
# 小时(24 小时制)为十进制数(范围 0 到 23);
# 个位数字前面有一个空格。 (另见 %H。)
# %l
# 小时(12 小时制)为十进制数(范围 1 到 12);
# 个位数字前面有一个空格。 (另见 %I。)
# %m
# 十进制数字形式的月份(范围 01 到 12)。 (替代 O)
# %M
# 分钟作为十进制数(范围 00 到 59)。 (替代 O)
# %O
# 修饰符:使用替代数字符号。
# %p
# 根据给定的时间值选择“AM”或“PM”,
# 或当前语言环境的相应字符串。中午是
# 被视为“PM”,午夜被视为“AM”。
#%P
# 与 %p 类似,但小写:“am”或“pm”或相应的
# 当前语言环境的字符串。
# %r
# 以上午或下午表示的时间。在 POSIX 语言环境中,这是
# 相当于 %I:%M:%S %p。
#%R
# 24 小时制时间 (%H:%M)。对于一个版本,包括
# 秒,见下面的 %T。
# %s
# 自 Epoch 以来的秒数,
# 1970-01-01 00:00:00 +0000 (UTC)
# %S
# 秒为十进制数(范围 00 到 60)。 (范围是
# 最多 60 以允许偶尔的闰秒。)(alt O)
#%t
# 一个制表符。
# %T
# 24 小时制的时间 (%H:%M:%S)。
# %u
# 星期几,十进制,范围 1 到 7,星期一为 1。
# 参见 %w。 (替代 O)
# %U
# 当前年份的周数为十进制数,
# 范围 00 到 53,从第一个星期日开始
# 星期 01。另见 %V 和 %W。 (替代 O)
# %V
# 当前年份的 ISO 8601 周数为十进制数,
# 范围 01 到 53,其中第 1 周是第一个至少有
#新年4天。另请参见 %U 和 %W。 (替代 O)
# %w
# 星期几,十进制,范围 0 到 6,星期日为 0。
# 参见 %u。 (替代 O)
# %W
# 当前年份的周数为十进制数,
# 范围 00 到 53,从第一个星期一开始作为第一天
第 01 周的#。(alt O)
# %X
# 当前语言环境的首选日期表示
# 时间。 (替代 E)
# %X
# 当前语言环境的首选时间表示,没有
# 日期。 (替代 E)
# %y
# 年份为十进制数,不带世纪(范围 00 到 99)。
# (alt E, alt O)
# %Y
# 年份为十进制数,包括世纪。 (替代 E)
# %z
# +hhmm 或 -hhmm 数字时区(即小时和分钟
# 与 UTC 的偏移量)。
# %Z
# 时区名称或缩写。
# %%
# 一个文字 '%' 字符。
#
# 这个配置选项有一个自动的默认值。
# time_format = "%Y-%m-%d %T %z"
# 配置选项report/devtypes_sort.
# 报告“lvm devtypes”命令时要排序的列列表。
# 有关可能字段的列表,请参阅“lvm devtypes -o help”。
# 这个配置选项有一个自动的默认值。
# devtypes_sort = "devtype_name"
# 配置选项报告/devtypes_cols。
# 要为“lvm devtypes”命令报告的列列表。
# 有关可能字段的列表,请参阅“lvm devtypes -o help”。
# 这个配置选项有一个自动的默认值。
# devtypes_cols = "devtype_name,devtype_max_partitions,devtype_description"
# 配置选项报告/devtypes_cols_verbose。
# 在详细模式下为“lvm devtypes”命令报告的列列表。
# 有关可能字段的列表,请参阅“lvm devtypes -o help”。
# 这个配置选项有一个自动的默认值。
# devtypes_cols_verbose = "devtype_name,devtype_max_partitions,devtype_description"
# 配置选项report/lvs_sort.
# 报告“lvs”命令时要排序的列列表。
# 有关可能字段的列表,请参阅 'lvs -o help'。
# 这个配置选项有一个自动的默认值。
# lvs_sort = "vg_name,lv_name"
# 配置选项report/lvs_cols.
# 为“lvs”命令报告的列列表。
# 有关可能字段的列表,请参阅 'lvs -o help'。
# 这个配置选项有一个自动的默认值。
# lvs_cols = "lv_name,vg_name,lv_attr,lv_size,pool_lv,origin,data_percent,metadata_percent,move_pv,mirror_log,copy_percent,convert_lv"
# 配置选项report/lvs_cols_verbose.
# 在详细模式下报告“lvs”命令的列列表。
# 有关可能字段的列表,请参阅 'lvs -o help'。
# 这个配置选项有一个自动的默认值。
# lvs_cols_verbose = "lv_name,vg_name,seg_count,lv_attr,lv_size,lv_major,lv_minor,lv_kernel_major,lv_kernel_minor,pool_lv,origin,data_percent,metadata_percent,move_pv,copy_percent,mirror_log,convert_lv,lv_uuid,lv_profile"
# 配置选项report/vgs_sort.
# 报告“vgs”命令时要排序的列列表。
# 有关可能字段的列表,请参见“vgs -o help”。
# 这个配置选项有一个自动的默认值。
# vgs_sort = "vg_name"
# 配置选项report/vgs_cols.
# 要为“vgs”命令报告的列列表。
# 有关可能字段的列表,请参见“vgs -o help”。
# 这个配置选项有一个自动的默认值。
# vgs_cols = "vg_name,pv_count,lv_count,snap_count,vg_attr,vg_size,vg_free"
# 配置选项report/vgs_cols_verbose。
# 在详细模式下报告“vgs”命令的列列表。
# 有关可能字段的列表,请参见“vgs -o help”。
# 这个配置选项有一个自动的默认值。
# vgs_cols_verbose = "vg_name,vg_attr,vg_extent_size,pv_count,lv_count,snap_count,vg_size,vg_free,vg_uuid,vg_pr 文件"
# 配置选项report/pvs_sort.
# 报告“pvs”命令时要排序的列列表。
# 有关可能字段的列表,请参阅“pvs -o help”。
# 这个配置选项有一个自动的默认值。
# pvs_sort = "pv_name"
# 配置选项report/pvs_cols.
# 要为“pvs”命令报告的列列表。
# 有关可能字段的列表,请参阅“pvs -o help”。
# 这个配置选项有一个自动的默认值。
# pvs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free"
# 配置选项report/pvs_cols_verbose.
# 在详细模式下报告“pvs”命令的列列表。
# 有关可能字段的列表,请参阅“pvs -o help”。
# 这个配置选项有一个自动的默认值。
# pvs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,dev_size,pv_uuid"
# 配置选项report/segs_sort.
# 报告“lvs --segments”命令时要排序的列列表。
# 有关可能字段的列表,请参阅 'lvs --segments -o help'。
# 这个配置选项有一个自动的默认值。
# segs_sort = "vg_name,lv_name,seg_start"
# 配置选项report/segs_cols.
# 为“lvs --segments”命令报告的列列表。
# 有关可能字段的列表,请参阅 'lvs --segments -o help'。
# 这个配置选项有一个自动的默认值。
# segs_cols = "lv_name,vg_name,lv_attr,stripes,segtype,seg_size"
# 配置选项报告/segs_cols_verbose。
# 在详细模式下报告“lvs --segments”命令的列列表。
# 有关可能字段的列表,请参阅 'lvs --segments -o help'。
# 这个配置选项有一个自动的默认值。
# segs_cols_verbose = "lv_name,vg_name,lv_attr,seg_start,seg_size,stripes,segtype,stripesize,chunksize"
# 配置选项report/pvsegs_sort.
# 报告“pvs --segments”命令时要排序的列列表。
# 有关可能字段的列表,请参阅“pvs --segments -o help”。
# 这个配置选项有一个自动的默认值。
# pvsegs_sort = "pv_name,pvseg_start"
# 配置选项报告/pvsegs_cols。
# 报告“pvs --segments”命令时要排序的列列表。
# 有关可能字段的列表,请参阅“pvs --segments -o help”。
# 这个配置选项有一个自动的默认值。
# pvsegs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size"
# 配置选项报告/pvsegs_cols_verbose。
# 在详细模式下报告“pvs --segments”命令时要排序的列列表。
# 有关可能字段的列表,请参阅“pvs --segments -o help”。
# 这个配置选项有一个自动的默认值。
# pvsegs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size,lv_name,seg_start_pe,segtype,seg_pe_ranges"
# }
# 配置部分 dmeventd.
# LVM 事件守护进程的设置。
dmeventd {
# 配置选项 dmeventd/mirror_library。
# 监控镜像设备时使用的库 dmeventd。
# libdevmapper-event-lvm2mirror.so 尝试从中恢复
#失败。它从卷组中删除故障设备,并
# 根据需要重新配置镜像。如果没有镜像库
# 提供,镜像不通过 dmeventd 监控。
mirror_library = "libdevmapper-event-lvm2mirror.so"
# 配置选项 dmeventd/raid_library。
# 这个配置选项有一个自动的默认值。
# raid_library = "libdevmapper-event-lvm2raid.so"
# 配置选项 dmeventd/snapshot_library。
# dmeventd 在监控快照设备时使用的库。
# libdevmapper-event-lvm2snapshot.so 监控快照的填充情况
# 并在使用率超过 80% 时通过 syslog 发出警告。这
# 当快照的 85%、90% 和 95% 被填充时,会重复警告。
snapshot_library = "libdevmapper-event-lvm2snapshot.so"
# 配置选项 dmeventd/thin_library。
# 监控瘦设备时使用的库 dmeventd。
# libdevmapper-event-lvm2thin.so 监控池的填充情况
# 并在使用率超过 80% 时通过 syslog 发出警告。这
# 当池的 85%、90% 和 95% 被填满时会重复警告。
thin_library = "libdevmapper-event-lvm2thin.so"
# 配置选项 dmeventd/executable。
# dmeventd 二进制文件的完整路径。
# 这个配置选项有一个自动的默认值。
# 可执行文件 = ""
}
# 配置部分标签。
# 主机标签设置。
# 这个配置部分有一个自动的默认值。
# 标签 {
# 配置选项标签/主机标签。
# 使用机器名创建主机标签。
# 机器名是 uname(2) 返回的节点名。
# 这个配置选项有一个自动的默认值。
# 主机标签 = 0
# 配置部分标签/<tag>。
# 将此小节名称替换为自定义标签名称。
# 可以创建多个这样的小节。 '@' 前缀
# 标签是可选的。这个小节可以包含 host_list,它是一个
# 机器名称列表。如果本地机器的名称在
# host_list,那么这个小节的名字就作为一个标签,是
# 作为“主机标签”应用于本地机器。如果本小节是
# 为空(没有 host_list),则始终应用小节名称
# 作为“主机标签”。
#
# 例子
# 主机标签 foo 给所有主机,主机标签
# bar 分配给名为 machine1 和 machine2 的主机。
# 标签 { foo { } bar { host_list = [ "machine1", "machine2" ] } }
#
# 这个配置部分有变量名。
# 这个配置部分有一个自动的默认值。
# 标签 {
# 配置选项标签/<tag>/host_list.
# 机器名称列表。
# 这些机器名与返回的节点名进行比较
# 通过 uname(2).如果本地机器名称与
# 这个列表,小节的名字被应用到
# 机器作为“主机标签”。
# 此配置选项没有定义默认值。
# }
# }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现