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
200
ボリュームマネージャ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
2
46
共有メモリ
sat
PRO
3
47
マルチスレッドプログラム
sat
PRO
3
40
Linuxのブートプロセス initramfs編
sat
PRO
2
50
Linuxのブートプロセス
sat
PRO
6
150
シェルのジョブ
sat
PRO
1
28
常駐サービスを実現するデーモンプロセス
sat
PRO
0
36
絶対殺すSIGKILLシグナルと絶対死なないプロセス
sat
PRO
3
120
シェルのセッション
sat
PRO
2
37
Other Decks in Technology
See All in Technology
Road to Go Gem #rubykaigi
sue445
0
710
Making a MIDI controller device with PicoRuby/R2P2 (RubyKaigi 2025 LT)
risgk
1
250
生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について
nwiizo
7
960
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
120
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
160
AI AgentOps LT大会(2025/04/16) Algomatic伊藤発表資料
kosukeito
0
140
AIエージェント開発手法と業務導入のプラクティス
ykosaka
2
1.3k
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
240
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
200
Running JavaScript within Ruby
hmsk
3
330
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
0
120
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
0
180
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
For a Future-Friendly Web
brad_frost
176
9.7k
Docker and Python
trallard
44
3.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Building Flexible Design Systems
yeseniaperezcruz
329
38k
A Tale of Four Properties
chriscoyier
158
23k
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