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
デバイス名は変わりうる
Search
Satoru Takeuchi
PRO
June 13, 2020
Technology
0
630
デバイス名は変わりうる
以下動画のテキストです。
https://youtu.be/Wl5wSXRPnxE
Satoru Takeuchi
PRO
June 13, 2020
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
790
デバイスにアクセスするデバイスファイル
sat
PRO
1
38
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
32
デバイスドライバ
sat
PRO
0
49
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
120
共有メモリ
sat
PRO
3
71
マルチスレッドプログラム
sat
PRO
3
59
Linuxのブートプロセス initramfs編
sat
PRO
2
89
Other Decks in Technology
See All in Technology
VGGT: Visual Geometry Grounded Transformer
peisuke
1
550
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
2
630
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
410
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
860
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
130
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
3
570
CDK Vibe Coding Fes
tomoki10
1
450
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
620
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
130
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
180
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
230
shake-upを科学する
rsakata
7
900
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Thoughts on Productivity
jonyablonski
69
4.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to Ace a Technical Interview
jacobian
278
23k
BBQ
matthewcrist
89
9.7k
Code Review Best Practice
trishagee
69
19k
For a Future-Friendly Web
brad_frost
179
9.8k
A better future with KSS
kneath
238
17k
Transcript
デバイス名は変わりうる Jun 13th, 2020 Satoru Takeuchi Twitter: satoru_takeuchi 1
もくじ • 伝統的なデバイス名 • デバイス名は変わりうる • デバイス名の変化への対策 • まとめ 2
もくじ • 伝統的なデバイス名 • デバイス名は変わりうる • デバイス名の変化への対策 • まとめ 3
伝統的なデバイス名 • ブロックデバイスの伝統的な名前 ◦ HDD, SSD: /dev/sda, /dev/sdb… ◦ NVMe
SSD: /dev/nvm0n1, /dev/nvm0n2… ◦ VM上の準仮想化デバイス : /dev/vda, /dev/vdb... • TIPS ◦ ブロックデバイスの一覧表示 : lsblk ◦ ブロックデバイスの情報を得る : /sys/block/<名前>以下のファイルを見る • 主な用途: 起動時のマウント: /etc/fstab ◦ デバイス名ではなくUUIDというものを使っている。なぜ ? 4
もくじ • 伝統的なデバイス名 • デバイス名は変わりうる • デバイス名の変化への対策 • まとめ 5
デバイス名のつけかた • カーネルは起動時にデバイスの認識順に/dev/sda,/dev/sdb...と名前をつける 6 Disk A Disk B 最初に認識したから /dev/sda
Disk C 2番目に認識したから /dev/sdb 3番目に認識したから /dev/sdc
デバイス認識順が変わると… • デバイス名が変わってしまう ◦ この状態でdisk Cを初期化するつもりで dd if=/dev/zero of=/dev/sdcとすると死ぬ 7
Disk A Disk B 最初に認識したから /dev/sda Disk C 3番目に認識したから /dev/sdc 2番目に認識したから /dev/sdb
デバイス名が変わる典型例1: デバイスの故障 8 Disk A Disk B 最初に認識したから /dev/sda Disk
C 2番目に認識したから /dev/sdb 3番目に認識したから /dev/sdc Disk A Disk B 最初に認識したから /dev/sda Disk C 2番目に認識したから /dev/sdb 故障
演習 • やること: デバイス故障によってデバイス名が変更されることを確認 ◦ /dev/vda(ディスクA), /dev/vdb(ディスクB), /dev/vdc(ディスクC)がある仮想マシン環境を使う • 手順
1. 仮想マシン上で以下を確認 ▪ /dev/vdb(ディスクB)の先頭には”scratch1”という文字列データが入っている ▪ /dev/vdc(ディスクC)の先頭には”scratch2”という文字列データが入っている 2. 仮想マシンをシャットダウン 3. ディスクBを取り外す(故障のエミュレーション ) 4. 仮想マシンを再起動後 5. /dev/vdbの先頭に”scratch1”ではなく”scratch2”が入っていることを確認 9
もくじ 伝統的なデバイス名 デバイス名は変わりうる デバイス名の変化への対策 まとめ 10
代表的な対策 • Udevのpersistent device nameを使う ◦ Udevというサービスはデバイスを認識するごとに様々な別名をつけてくれる ▪ /dev/disk/by-uuid以下のファイル ▪
/dev/disk/by-label以下のファイル ▪ /dev/disk/by-path以下のファイル ◦ 詳細はarch wikiの”Persistent block device naming”のページなどを参照 • fstabには”UUID=”や”LABEL=”によるデバイス名指定もできる 11
もくじ 伝統的なデバイス名 デバイス名は変わりうる デバイス名の変化への対策 まとめ 12
まとめ • カーネルは起動時にディスク認識順に/dev/sda,/dev/sdbなどの名前をつける • 上記デバイス名は状況によって変わりうるのでfstabなどに指定するのは危険 • Udevのpersistent device nameなどをかわりに使う 13