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
会社員しながら本を書いてきた知見の共有
sat
PRO
3
690
デバイスにアクセスするデバイスファイル
sat
PRO
1
31
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
24
デバイスドライバ
sat
PRO
0
37
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
84
共有メモリ
sat
PRO
3
61
マルチスレッドプログラム
sat
PRO
3
51
Linuxのブートプロセス initramfs編
sat
PRO
2
65
Linuxのブートプロセス
sat
PRO
6
170
Other Decks in Technology
See All in Technology
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
ソフトウェアテストのAI活用_ver1.10
fumisuke
0
240
うちの会社の評判は?SNSの投稿分析にAIを使ってみた
doumae
0
160
AIに実況させる / AI Streamer
motemen
3
1.4k
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.2k
AIの電力問題を概観する
rmaruy
1
210
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.2k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
740
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
いまさら聞けない Git 超入門 〜Gitって結局なに?から始める第一歩〜
devops_vtj
0
160
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
0
590
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Building Adaptive Systems
keathley
41
2.6k
Fireside Chat
paigeccino
37
3.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Visualization
eitanlees
146
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Music & Morning Musume
bryan
47
6.6k
The World Runs on Bad Software
bkeepers
PRO
68
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
660
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
It's Worth the Effort
3n
184
28k
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