LinuC レベル 2 Version10.0
技術解説無料セミナー
2020/12/5 開催

主題

2.02
ファイルシステムとストレージ管理

本⽇の講師

エスディーテック株式会社
末永 貴⼀© LPI-Japan / EDUCO all rights reserved.

n⾃⼰紹介#LinuC学習中

エスディーテック株式会社－ 組込み機器向けUI/UXソフトウェアの研究開発
http://www.sdtech.co.jp
Linux関連⽂章の執筆
・LPIC Level2 1回で合格必達テキスト+問題集
・LPI-Japan コラム【Linux道場 ⼊⾨編】
・@IT 「Linuxをいまから学ぶコツ教えます」
・@IT 「Linuxに触れよう」
・⽇経Linux「Xと次世代「Wayland」を知る」など© LPI-Japan all rights reserved.

2

LinuCレベル１／レベル２ Version10.0とは

nLinuCとは#LinuC学習中

クラウド時代の即戦⼒エンジニアであることを証明するLinux技術者認定資格

ü現場で「今」求められている新しい技術要素に対応• オンプレミス／仮想化を問わず様々な環境下でのサーバー構築• 他社とのコラボレーションの前提となるオープンソースへの理解• システムの多様化に対応できるアーキテクチャへの知⾒ü全⾯的に⾒直した、今、⾝につけておくべき技術範囲を網羅
今となっては使わない技術やコマンドの削除、アップデート、新領域の取り込みüLinuxの範疇だけにとどまらない領域までカバー
セキュリティや監視など、ITエンジニアであれば必須の領域もカバー© LPI-Japan all rights reserved.

3

新しくなった「LinuC」の紹介

nVersion10.0と従来の出題範囲の⽐較
テーマ

LinuC-1

Version 10.0

#LinuC学習中
従来

仮想技術

・仮想マシン／コンテナの概念
・クラウドセキュリティの基礎←（Version10.0で新設）

オープンソースの文化・オープンソースの定義や特徴・コミュニティやエコシステムへの貢献←（Version10.0で新設）

その他→（Version10.0で削除）

アクセシビリティ、ディスククォータ、プリンタの管理、SQLデータ管理、他

仮想化技術

・仮想マシンの実行と管理（KVM）
・コンテナの仕組みとDockerの導入←（Version10.0で新設）

システムアーキテクチャ

・クラウドサービス上のシステム構成
・高可用システム、スケーラビリティ、他←（Version10.0で新設）

LinuC-2
その他・統合監視ツール（zabbix）
・自動化ツール（Ansible）→（Version10.0で削除）←（Version10.0で出題範囲に含む）
RAID、記憶装置へのアクセス方、FTPサーバーの保護、他© LPI-Japan all rights reserved.

4

#LinuC学習中

今回のテーマ主題2.02︓ファイルシステムとストーレジ管理
ü ファイルシステムとは
ü VFS
ü i-nodeü マウントü ファイルシステム管理ü LVM© LPI-Japan all rights reserved.

5

ファイルシステムの基礎
nファイルシステムとは#LinuC学習中

ü物理的な記憶装置に保存されたデータを管理する機能• 基本的にはOSの機能として提供されるが、OS⾃体の機能とは分離されている• OSがデータを効率よく管理するために様々な種類のファイルシステムがあるüLinuxで利⽤されるファイルシステム• デフォルトではExt4• その他にXFS、Btrfs、vfat等複数のファイルシステムをサポート• ⽤途によってファイルシステムを選択する© LPI-Japan all rights reserved.

6

VFSnVFS（Virtual File System）とは#LinuC学習中

üファイルシステム上に構築された抽象化レイヤー• 統⼀的なファイルアクセスという⼊出⼒インターフェイスを提供• データ、デバイスを含む異なるコンピュータリソースを意識しない• ファイルシステムが違っても同⼀の⽅法でアクセス可能© LPI-Japan all rights reserved.

7

VFS
n VFSのアクセスイメージ#LinuC学習中

ファイル操作のコマンド
ls,cd,cp,等

異なるファイルシステム群

EXT4

XFS

同⼀の⽅法で異なるターゲットに対してアクセスできる

Brtfs

VFAT

NTFS

デバイスの相違を意識しない© LPI-Japan all rights reserved.

8

i-nodeni-node（index-node）とは#LinuC学習中

üファイルを管理するためのデータ構造体• VFSで抽象化されたデータと実データを関連づけるデータ• ファイルシステムごとに作成される• i-nodeに含まれる主なデータ
Ø i-node番号
Ø デバイスIDØ ファイルモード
Ø ファイルのUIDØ ファイルのGIDØ アクセス情報
Ø リンク数等Ø i-node情報の確認はstatコマンドで⾏う
例︓$ stat –L ファイル名© LPI-Japan all rights reserved.

9

i-nodenファイルアクセス#LinuC学習中

ストレージ

ファイル

ファイル操作

ディレクトリエントリ
i-node番号

i-node
データ構造
i-node番号

ファイル名

ファイル操作の内部動作© LPI-Japan all rights reserved.

10mountnマウントとは#LinuC学習中

ü異なるファイルシステム（デバイス）を使⽤するための操作• ハードウェアが認識されてもそのままだと利⽤できない• ルートファイルシステムに他のファイルシステムを接ぎ⽊して、ファイル操作を可能にする• マウントしたフィルシステムはアンマウント（ S/W的接続解除）し、物理的接続解除• マウントしたまま物理的接続解除を⾏うとデータを破損する可能性がある/ (ルートディレクトリ)/media にマウント

medialibbinetcsbin© LPI-Japan all rights reserved.

11

mountnマウント系のコマンド#LinuC学習中

ü 明⽰的マウント
mount、umountを実⾏
ex. mount –t vfat /dev/cdrom /media
umount /media※ マウントしたデバイスを取り出すときにはumountを実⾏し、マウント解除するü 定義済みマウント

ファイルシステムテーブル/etc/fstabに記述
起動時に⾃動的にマウントを⾏うことが可能• /etc/fstabファイルの書式
fs_spec fs_file fs_vfstype fs_mntops

fs_freq

fs_passno© LPI-Japan all rights reserved.

12

mountnfstabの書式
fs_spec fs_file fs_vfstype fs_mntops
No.

fs_freq#LinuC学習中

fs_passno

フィールド名意味

1

fs_spec（デバイスファイル）

マウントしたいデバイスのファイルを指定

2

fs_file（マウントポイント）

ファイルシステムのどこにマウントするかを指定

3

fs_vfstype（ファイルシステム）

マウントするファイルシステムのタイプを指定

4

fs_mntops（オプション）

マウントする際のオプションを指定
dumpコマンドでバックアップの対象とするか︓

5

fs_freq（ダンプフラグ）

0（しない）
0以外（n⽇ごとにdumpする予定）
fsckを利⽤するか︓

6

fs_pasno（fsckチェックフラグ）

0（利⽤しない）1（ルートファイルシステムで使⽤）
2（その他のファイルシステムで使⽤）© LPI-Japan all rights reserved.

13

ファイルシステムの管理
nファイルシステムの保守

ü ファイルシステムが適切に運⽤されているかを管理#LinuC学習中• ストレージの状態確認• 残容量のチェック• ファイル数のチェック• ファイルシステム破損時の対応

ü ファイルシステム操作コマンド• mkfs ︓ファイルシステム作成• fsck︓ファイルシステムチェック• tune2fs︓ファイルシステムのパラメータ操作• dumpe2fs︓ファイルシステムの情報表⽰• df︓ファイルシステムディスク情報の表⽰© LPI-Japan all rights reserved.

14

ファイルシステムの管理
nExt系ファイルシステムの基本構造（概要）#LinuC学習中

ü 複数のブロックをブロックグループにまとめて管理する• スーパーブロック︓ファイルシステムに関する管理情報• 管理情報データブロック︓i-node等のファイルの管理情報• データブロック︓実際のデータ

ブートセクタスーパーブロック

ブロック
グループ0

ブロック
グループ1

管理情報
データブロックブロック
グループ2・・・

ブロック
グループn

データブロック© LPI-Japan all rights reserved.

15

ファイルシステムの管理
nファイルシステムの操作例#LinuC学習中

ü ファイルシステムのチェック# fsck -t ext4 /dev/sda1
ü ファイルシステムの修復# fsck -b 32768 /dev/sda1
ü不良ブロックの調査# fsck -c /dev/sda1
üHDD,SSDの⾃⼰診断機能# smartctl --all /dev/sda1© LPI-Japan all rights reserved.

16

LVM
nLVM(Logical Volume Manager)とは#LinuC学習中

ü 複数の異なるパーティション、物理ストレージを論理的に束ねるシステム• 動的なサイズ変更が可能• 物理的に異なるストレージ領域を1つの領域として扱うことができる
ü LVMの構成要素
PV(Physical Volume)︓LVM⽤に構成された、物理的なボリューム
VG(Volume Group) ︓1つ以上のPVを束ねて構成される、論理的なボリューム
LV(Logical Volume) ︓VGから実際に利⽤する領域を切り出した論理的ボリューム

fdiskからLVM⽤のパーティションを作成

PVの作成

PVを束ねてVGの作成

VGからLVを切り出す© LPI-Japan all rights reserved.

17

LVM
nLVMのコマンド#LinuC学習中

ü PVの作成• # pvcreate [PVにするデバイス ...]• Ex. # pvcreate /dev/sdc1 /dev/sdc2 /dev/sdc3
ü VGの作成• # vgcreate [VG名] [VGに加えるPVデバイス]• Ex. # vgcreate sample_vg /dev/sdc1 /dev/sdc2 /dev/sdc3
ü LVの作成• # lvcreate -n[LV名] -L[サイズ] [VG名]• Ex. # lvcreate -n sample_lv -L 3g sample_vg© LPI-Japan all rights reserved.

18

nまとめ
ü ファイルシステム#LinuC学習中• データを効率よく管理す機能

ü VFS• ファイルシステム上に構築された統⼀的なファイルアクセスインターフェイス

ü i-node• ファイル管理のためのデータ構造体

ü マウント• 異なるファイルシステムをファイル操作可能にするための操作ü ファイルシステム管理• ファイルシステム（ストレージ）の状態を把握し、適切な処理をする• ファイルシステム操作コマンド• Ext系ファイルシステムの基本構造

ü LVM• 複数の物理ストレージ領域を統合し1つの領域として扱える© LPI-Japan all rights reserved.

19

#LinuC学習中

Q&A© LPI-Japan all rights reserved.

20

#LinuC学習中

ありがとうございました
https://www.sdtech.co.jp© LPI-Japan all rights reserved.

21