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
880
デバイス名は変わりうる
以下動画のテキストです。
https://youtu.be/Wl5wSXRPnxE
Satoru Takeuchi
PRO
June 13, 2020
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
書籍執筆での生成AIの活用
sat
PRO
1
290
ChatGPTに従って体調管理2026
sat
PRO
0
150
eBPF
sat
PRO
1
110
waruiBPF
sat
PRO
0
110
eBPFとwaruiBPF
sat
PRO
5
3.8k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
100
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
200
様々なファイルシステム
sat
PRO
0
340
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
430
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
6.8k
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
580
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
480
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
190
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
AI駆動開発を事業のコアに置く
tasukuonizawa
1
280
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
100
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
130
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The Limits of Empathy - UXLibs8
cassininazir
1
220
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
For a Future-Friendly Web
brad_frost
182
10k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Un-Boring Meetings
codingconduct
0
200
GraphQLとの向き合い方2022年版
quramy
50
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
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