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
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
デバイス名は変わりうる
以下動画のテキストです。
https://youtu.be/Wl5wSXRPnxE
Satoru Takeuchi
PRO
June 13, 2020
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Machine Check Exception
sat
PRO
2
37
バイナリダンプの模様を読む
sat
PRO
0
68
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
54
114-ファイルのshallow_copy.pdf
sat
PRO
2
38
113-Btrfsのスナップショット.pdf
sat
PRO
0
16
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
59
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
2
63
ファイルシステムの整合性を回復するfsck
sat
PRO
1
65
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
5.3k
Other Decks in Technology
See All in Technology
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
290
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
140
Type-safe IaC for Dart
coborinai
0
160
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
510
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
13
8.8k
DatabricksにおけるMCPソリューション
taka_aki
1
280
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
150
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
420
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
850
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
0
140
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
570
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Limits of Empathy - UXLibs8
cassininazir
1
510
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
980
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
The Pragmatic Product Professional
lauravandoore
37
7.4k
Ruling the World: When Life Gets Gamed
codingconduct
0
280
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
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