LinuCレベル2 201試験の例題と解説
2.02.3論理ボリュームマネージャの設定と管理
LinuCレベル2 201試験の試験範囲から「2.02.3 論理ボリュームマネージャの設定と管理」についての例題を解いてみます。
このテーマはストレージの柔軟な運用を実現するLVMに関する内容が問われます。システム構築時には容量が増加することへ備えるためなどに使用されるので、LVMの構成・容量の増減方法など実機操作での学習で理解を深めることがおすすめです。
例題
lvm.confにおいて、シェル履歴の最大行数を指定するパラメータはどれか。
- history
- pvmetadatasize
- pv_min_size
- history_size
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4.history_size」です。
LVMはLogical Volume Mnagerの略したもので、複数の記憶領域(HDDやパーティションなど)を束ね、論理ボリュームという仮想的な領域を作成する技術です。
設定は、lvm.confで行います。
選択肢にあるパラメータは、以下のような意味を持ちます。なお、"history"というパラメータはありません。
history_size
$HOME/.lvm_history に保持するシェル履歴の最大行数 (デフォルトは 100)
pvmetadatasize
メタデータのコピーごとに確保するセクターの概数
pv_min_size
PV として使用できるブロックデバイスの最小サイズ (KB 単位)
また、lvm dumpconfigを実施することで、現在のLVMの設定(lvm.conf)を表示させることなどが可能です。
以下はlvm dumpconfigの実行例です。
[root@bf1467feca77 ~]# lvm dumpconfig
config {
checks=1
abort_on_errors=0
profile_dir="/etc/lvm/profile"
}
local {
}
dmeventd {
mirror_library="libdevmapper-event-lvm2mirror.so"
snapshot_library="libdevmapper-event-lvm2snapshot.so"
thin_library="libdevmapper-event-lvm2thin.so"
}
activation {
checks=0
udev_sync=1
udev_rules=1
verify_udev_operations=0
retry_deactivation=1
missing_stripe_filler="error"
use_linear_target=1
reserved_stack=64
reserved_memory=8192
process_priority=-18
raid_region_size=2048
readahead="auto"
raid_fault_policy="warn"
mirror_image_fault_policy="remove"
mirror_log_fault_policy="allocate"
snapshot_autoextend_threshold=100
snapshot_autoextend_percent=20
thin_pool_autoextend_threshold=100
thin_pool_autoextend_percent=20
use_mlockall=0
monitoring=1
polling_interval=15
activation_mode="degraded"
}
global {
umask=63
test=0
units="r"
si_unit_consistency=1
suffix=1
activation=1
proc="/proc"
etc="/etc"
locking_type=1
wait_for_locks=1
fallback_to_clustered_locking=1
fallback_to_local_locking=1
locking_dir="/run/lock/lvm"
prioritise_write_locks=1
abort_on_internal_errors=0
metadata_read_only=0
mirror_segtype_default="raid1"
raid10_segtype_default="raid10"
sparse_segtype_default="thin"
use_lvmetad=1
use_lvmlockd=0
system_id_source="none"
use_lvmpolld=1
notify_dbus=1
}
shell {
history_size=100
}
backup {
backup=1
backup_dir="/etc/lvm/backup"
archive=1
archive_dir="/etc/lvm/archive"
retain_min=10
retain_days=30
}
log {
verbose=0
silent=0
syslog=1
overwrite=0
level=0
indent=1
command_names=0
prefix=" "
activation=0
debug_classes=["memory","devices","io","activation","allocation","lvmetad","metadata","cache","locking","lvmpolld","dbus"]
}
allocation {
maximise_cling=1
use_blkid_wiping=1
wipe_signatures_when_zeroing_new_lvs=1
mirror_logs_require_separate_pvs=0
cache_pool_metadata_require_separate_pvs=0
thin_pool_metadata_require_separate_pvs=0
}
devices {
dir="/dev"
scan="/dev"
obtain_device_list_from_udev=1
external_device_info_source="none"
preferred_names=["^/dev/mpath/","^/dev/mapper/mpath","^/dev/[hs]d"]
cache_dir="/etc/lvm/cache"
cache_file_prefix=""
write_cache_state=1
sysfs_scan=1
scan_lvs=0
multipath_component_detection=1
md_component_detection=1
fw_raid_component_detection=0
md_chunk_alignment=1
data_alignment_detection=1
data_alignment=0
data_alignment_offset_detection=1
ignore_suspended_devices=0
ignore_lvm_mirrors=1
disable_after_error_count=0
require_restorefile_with_uuid=1
pv_min_size=2048
issue_discards=0
allow_changes_with_duplicate_pvs=1
allow_mixed_block_sizes=1
}
lvm.confについては、以下で詳細を確認できます。
https://linux.die.net/man/5/lvm.conf
例題作成者
鯨井 貴博(LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 Zeus IT Camp)