Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ボリュームマネージャLVM
Search
Satoru Takeuchi
PRO
December 30, 2023
Technology
2
220
ボリュームマネージャLVM
以下動画のテキストです。
https://youtu.be/0R02LLBFk4o
Satoru Takeuchi
PRO
December 30, 2023
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
110
会社員しながら本を書いてきた知見の共有
sat
PRO
3
780
デバイスにアクセスするデバイスファイル
sat
PRO
1
35
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
30
デバイスドライバ
sat
PRO
0
47
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
120
共有メモリ
sat
PRO
3
69
マルチスレッドプログラム
sat
PRO
3
57
Linuxのブートプロセス initramfs編
sat
PRO
2
83
Other Decks in Technology
See All in Technology
Geminiとv0による高速プロトタイピング
shinya337
0
200
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
120
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
130
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
Connect 100+を支える技術
kanyamaguc
0
150
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
230
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
100
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
0
160
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
940
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
380
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
140
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
0
350
Featured
See All Featured
Scaling GitHub
holman
459
140k
How GitHub (no longer) Works
holman
314
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Code Review Best Practice
trishagee
69
18k
A Tale of Four Properties
chriscoyier
160
23k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
RailsConf 2023
tenderlove
30
1.1k
Rails Girls Zürich Keynote
gr2m
94
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
A designer walks into a library…
pauljervisheath
207
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Transcript
ボリュームマネージャ LVM Satoru Takeuchi X: satoru_takeuchi 1
原始的なブロックデバイス管理の課題 • サイズはディスクの全容量か、それを区切ったパーティションの容量 ◦ ディスクサイズを超える大きさのボリュームは作れない • 一度決めた構成は変えづらい ◦ パーティションの作りなおし /最後のパーティションを拡張
/新パーティションの作成 2
LVM(Logical Volume Manager) • 1ノード内の複数ディスクを束ねてVolume Group(VG)と呼ばれるストレージプール を作る ◦ Volume Groupに組み込むディスクを
Physical Volume(PV)と呼ぶ • Volume Groupのサイズが許す限り好きな数だけLogical Volume(LV)と呼ばれる ブロックデバイスを作る 3 disk disk disk Volume Group … LV LV LV PV PV PV …
LVMの利点 • VGにディスクを追加、削除できる • VGの容量を超えない範囲で好きな数だけ好きな容量のLVを作れる ◦ 一台のディスクの容量を超えるサイズの LVも作れる • LVの拡張、縮小ができる
◦ 📝LVの拡張、縮小後にファイルシステムも拡張、縮小する必要がある • スナップショットを採取できる • 上記すべてをディスクアクセスを止めずに実現できる 4
例: 2つのディスクから3つのLVを作る 5 /dev/sda /dev/sdb Volume Group /dev/testvg/testlv0 /dev/testvg/testlv1 /dev/testvg/testlv2
PV PV 別名 /dev/mapper/testvg-testlv /dev/dm-X
例: Ubuntu22.04はでフォルトでLVMを使う 6 /dev/sda ubuntu-vg /dev/ubuntu-vg/root /dev/ubuntu-vg/home /dev/ubuntu-vg/swap_1 /dev/sda1 /dev/sda2
PV / boot efi home
LVMはdevice mapperを利用して実装されている • linearターゲットを使う ◦ 📝 「device mapperによるディスクI/O障害のエミュレーション 既存ターゲット編」 •
VGに組み込まれたディスクの一部をリニアマップ 7 sda sdb lv0 lv1 lv2
まとめ • Linuxにはブロックデバイス管理を楽にするためのLVMという機能がある • ディスクの容量に縛られず、柔軟なボリューム管理ができる • VGへのディスク追加/削除、LVの作成/削除/拡張/縮小が無停止でできる • スナップショットも採取できる •
LVMは内部でdevice mapperを使える • 📝 使い方はArch Wikiが詳しい ◦ https://wiki.archlinux.jp/index.php/LVM 8