2007 年 2 月 9 日 ( 金 ) LPIC スタートアップ 無 料 セミナー@ 東 京 ファイルシステム 管 理 とLVM リナックスアカデミー 学 校 長 濱 野 賢 一 朗 hamano@linuxacademy.ne.jp 本 ドキュメントは Linuxを 中 心 とするオープンソースコミュニティの 成 果 をもとに 作 成 されています 開 発 者 をはじめとする コミュニティの 皆 様 に 感 謝 いたします Linuxは Linus Tovalds 氏 の 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です UNIX X Window Systemは The Open Groupの 登 録 商 標 です Red Hat RPMの 名 称 は Red Hat,Incの 商 標 です Intel Pentiumは Intel Corporationの 登 録 商 標 または 商 標 です Microsoft MS-DOS Windowsは 米 国 Microsoft Corporationの 米 国 およびその 他 の 国 における 登 録 商 標 です LPIのロゴおよびLinux Professional Instituteという 名 称 は The Linux Professional Institute,Incの 登 録 商 標 です その 他 記 載 された 会 社 名 およびロゴ 製 品 名 などは 該 当 する 会 社 の 商 標 または 登 録 商 標 です また 本 文 中 では (c) (R) TMの 表 示 を 省 略 しています ご 了 承 ください (C) 2007 Linux Academy. All rights reserved. -1-
講 師 紹 介 濱 野 賢 一 朗 (はまの けんいちろう) リナックスアカデミー 学 校 長 日 本 OSS 推 進 フォーラム 人 材 育 成 部 会 独 立 行 政 法 人 情 報 処 理 推 進 機 構 (IPA) OSSセンター 人 材 育 成 WG 主 査 経 済 産 業 省 ITスキルスタンダードLinuxプロジェクト 実 施 担 当 LPI 認 定 試 験 研 究 会 発 起 人 (の 一 人 ) 日 本 Apacheユーザ 会 / 日 本 Sambaユーザ 会 スタッフ 日 本 PHPユーザー 会 発 起 人 (の 一 人 ) Oracle for Linux メーリングリスト WebDAV-JP ML 管 理 人 著 書 に Linux 教 科 書 LPIC 合 格 Expert LPI Linux 認 定 試 験 PHP プロ グラミング Black Book qmailで 作 る 快 適 メールサーバー 翻 訳 書 に PHPデスクトップリファレンス などがある 最 近 は Linuxやオープンソースソフトウェアを 理 解 した 技 術 者 を 養 成 するための 体 系 的 な 仕 組 みを 模 索 中 リナックスアカデミー リナックスアカデミーは オープンソースの 専 門 教 育 機 関 として2001 年 に 設 立 されたスクール Linux ネットワーク Java PHP データベースを 中 心 とするIT 技 術 習 得 によるスキルアップ 就 転 職 や 業 務 転 換 などのキャリアアップ 支 援 の 総 合 サービスを 提 供 している 2005 年 度 までに 約 3000 名 の 方 をIT 業 界 に 輩 出 しており LPIC-1の 合 格 者 を1250 名 以 上 LPIC-2の 合 格 者 を300 名 以 上 輩 出 するなど 圧 倒 的 な 資 格 合 格 実 績 をほこっている リナックスアカデミー スクール http://www.linuxacademy.ne.jp/ LAオープンソースユニバーシティ http://osu.linuxacademy.ne.jp/ 日 本 OSS 推 進 フォーラム システムベンダーやユーザー 企 業 などにより 構 成 される 非 営 利 組 織 オープンソースソフトウェ ア(OSS)の 普 及 促 進 に 取 り 組 むべく OSSに 関 する 様 々な 課 題 について 議 論 し それらを 解 決 するための 取 り 込 みを 行 っている 2006 年 5 月 現 在 サーバー 部 会 デスクトップ 部 会 人 材 育 成 部 会 という3つの 部 会 があり 各 部 会 内 に 設 置 されたタスクフォースで 活 動 が 行 われている [ 出 典 :OSS ipedia] LPI 認 定 試 験 研 究 会 LPI 認 定 試 験 研 究 会 (LPIC 研 究 会 /LPIC Study Group)は LPI 認 定 試 験 情 報 を 提 供 し LPI 認 定 の 普 及 促 進 を 図 る LPI 認 定 試 験 対 策 を 通 してLinuxスキルの 向 上 につとめる LPI 認 定 試 験 関 連 のセミナー 開 催 や 記 事 執 筆 を 行 う Linuxユーザー 同 士 の 交 流 の 場 を 作 る といった 活 動 を 行 っています 活 動 は 主 にメーリングリストを 通 じて 行 われますが 関 東 や 関 西 で のオフラインミーティングも 定 期 的 に 行 っています LPI 認 定 試 験 研 究 会 のWebサイト http://www.lpi.jp/ -2-
ディスクを 利 用 するまでの 手 順 パーティションの 作 成 ディスクを 複 数 の 領 域 に 分 割 して 管 理 できる 分 割 した 領 域 単 位 をパーティションという fdiskコマンドなどを 利 用 ファイルシステムの 作 成 パーティションに 作 成 することによって 実 際 にファイルの 配 置 が 可 能 となる mkfsコマンドなどを 利 用 ファイルシステムのマウント ディレクトリツリーにファイルシステムをマウントすることが 利 用 できる mountコマンドなどを 利 用 手 順 例 Ⅰ.パーティションの 作 成 1. fdiskコマンドを 起 動 する # fdisk /dev/hda 2. 現 在 のパーティションテーブルを 確 認 する p 3. パーティションを 作 成 する(50MBの 論 理 パーティションの 場 合 ) n <Enter> +50M 4. 再 度 現 在 のパーティションテーブルを 確 認 する 新 しいパーティション 確 認 できる 5. パーティションテーブルに 書 き 込 んでfdiskを 終 了 する w 6. ( 必 要 に 応 じて)システムを 再 起 動 する # shutdow -h now Ⅱ.ファイルシステムの 作 成 7. パーティション/dev/sd5にファイルシステムext3を 作 成 する # mke2fs -j /dev/hda5 Ⅲ.ファイルシステムのマウント 8. マウントポイントとして/testを 作 成 する # mkdir /test 9. /dev/sda5を/testとしてマウントする # mount -t ext3 /dev/hda5 /test 10. dfコマンドを 用 いて 確 認 する # df -h -3-
およそのイメージ 1.パーティションの 作 成 パーティション1 ディスク 領 パーティション2 域 およそのイメージ 1.パーティションの 作 成 2.ファイルシステム の 作 成 ファイル ファイル パーティション1 ディスク 領 域 システム1 システム2 パーティション2
およそのイメージ 1.パーティションの 作 成 2.ファイルシステム の 作 成 ファイル ファイル パーティション1 ディスク 領 域 システム1 システム2 パーティション2 3.マウント /home /var
パーティションの 作 成 パーティション ディスク 領 域 を 分 割 する 論 理 的 な 概 念 基 本 パーティション 拡 張 パーティション 論 理 パーテ ィションに 分 類 できる 実 際 にファイルシステムが 作 成 できるのは 基 本 パ ーティションと 論 理 パーティション パーティションの 作 成 fdiskコマンドを 用 いることがパーティションの 確 認 作 成 が 行 える パーティション 1 台 のディスクドライブを 複 数 の 論 理 的 な 区 画 (パーティション)に 分 割 して 使 うことができます そ れぞれのパーティションには 異 なるファイルシステムを 作 成 できます パーティションの 種 類 は3 つあります パーティションの 実 態 は ハードディスク 上 の 領 域 の 開 始 位 置 と 終 了 位 置 の 情 報 です ディスク の 先 頭 領 域 (のパーティションテーブル)に 各 パーティションに 対 応 する 開 始 位 置 終 了 位 置 の アドレスが 格 納 されている 基 本 パーティション ディスクには 最 大 4 個 の 基 本 パーティションを 作 成 することができます パーティション 内 にはファ イルシステムが 格 納 されます 基 本 パーティションのデバイスファイル 名 は プライマリ マスター に 接 続 されたIDEハードディスクの 場 合 /dev/hda1~hda4となります 拡 張 パーティション 基 本 パーティションの1つを 拡 張 パーティションにすることができます 拡 張 パーティションの 中 に はファイルシステムではなく 論 理 パーティションが 格 納 されます 論 理 パーティション 論 理 パーティションとは 拡 張 パーティション 内 に 作 成 されたパーティションのことです 論 理 パ ーティションは 最 大 59 個 まで 作 成 できます デバイスファイル 名 は プライマリ マスターに 接 続 さ れたIDEドライブの 場 合 /dev/hda5~hda63となります fdisk コマンド パーティションの 作 成 削 除 変 更 情 報 表 示 などを 行 います -lオプションを 指 定 すると その デバイス(ハードディスク)のパーティションテーブルの 状 態 を 表 示 します -6-
ファイルシステムの 作 成 ファイルシステムタイプ Linuxでは ext3 の 利 用 が 標 準 的 である ext3 ではジャーナリング 機 能 が 実 現 されている ファイルシステムの 作 成 mkfsコマンドで 作 成 できる ファイルシステムとファイルシステムタイプ fdisk などでパーティションを 作 成 しただけでは そのパーティションを 利 用 することはできません Linuxでそのパーティションを 利 用 するためには そのパーティション 上 にファイルシステムを 作 成 します ファイルシステムとは OSがファイルを 管 理 するための 枠 組 みであり Linuxではext2 ext3 XFS ReiserFSなどのファイルシステムが 利 用 できます 新 しいパーティション 上 にファイルシステムを 作 成 すると メタデータと 呼 ばれる 管 理 情 報 がパー ティション 内 に 作 成 され そのパーティションを 利 用 することが 可 能 となります ext3 XFS ReiserFS などのファイルシステムはジャーナリングファイルシステムと 呼 ばれ ジャー ナリング 機 能 を 持 っています ジャーナリング 機 能 は ファイルシステムの 信 頼 性 を 向 上 させるた めの 機 能 の1つです ジャーナリングファイルシステムにおける ジャーナル(Journal) とは ファ イルシステムの 変 更 に 対 する 操 作 を あらかじめ 準 備 された 領 域 にログとして 記 録 することを 意 味 します ジャーナリングファイルシステムは 障 害 からの 復 旧 時 にジャーナルの 情 報 を 利 用 し てファイルシステムの 復 旧 を 行 い ファイルシステムの 一 貫 性 を 保 つことができます ファイルシステムの 作 成 mkfsコマンドなどを 用 いると パーティション 上 にファイルシステムを 作 成 できます mkfsコマンド は 各 ファイルシステムの 種 類 に 対 応 したプログラムのフロントエンドであり ファイルシステムの 種 類 に 対 応 したコマンドを 呼 び 出 します たとえば ext2ファイルシステムを 使 っている 場 合 は mkfs.ext2プログラムが 呼 び 出 されます -7-
ファイルシステムのマウント マウント ファイルシステム 内 のディレクトリツリーを 特 定 のデ ィレクトリ 以 下 に 結 合 すること マウントしたファイルシステムが 結 合 されるディレクト リをマウントポイントという マウント 操 作 mountコマンドでマウントを 行 える umountコマンドでマウントを 解 除 できる ファイル/etc/fstab ファイルシステムの 情 報 は /etc/fstabファイルに 記 述 されています マウントするときにはこの 設 定 ファイルが 参 照 されるため マウントする 頻 度 の 高 いファイルシステムを 記 述 しておきます /etc/fstabの 設 定 は 1つのファイルシステムごとに1 行 で 設 定 を 行 い 各 行 設 定 は 順 に デバイスファイル 名 マウントポイント ファイルシステムタイプ マウントオプション dumpフラグ ブート 時 にfsckがチェックする 順 序 となっています /dev/hda5 /project ext3 defaults 1 2-8-
従 来 のパーティションの 限 界 大 容 量 のパーティションが 作 成 できない ディスクサイズを 超 えることができない 原 則 として パーティションサイズを 変 更 できない 容 量 が 不 足 した 場 合 の 対 応 が 複 雑 になる など 難 点 がいくつか 存 在 する これらの 問 題 を 解 決 するのが LVM (Logical Volume Manager) パーティションサイズの 限 界 パーティションはディスク 領 域 を 分 割 するものであるため 元 のハードディスク 容 量 以 上 のサイズ のパーティションを 作 成 することはできません 最 近 では 500GBや750GBなどのディスクが 登 場 し 近 いうちに1TBのディスクが 流 通 するといわれていますが それでも2TBや3TBなどのパーテ ィションを 作 成 することはできません しかし 画 像 や 動 画 データなどをはじめとして 大 きなデータサイズを 扱 う 業 種 におけるファイルサ ーバでは 数 TB~ 数 10TBなどの 容 量 が 当 然 のものとなっています ファイルシステム 容 量 不 足 時 の 対 応 サーバを 容 量 していると 多 くの 場 合 ディスクの 空 き 容 量 が 確 実 に 少 なくなります データの 増 加 やログの 蓄 積 などによることが 多 いといえます ファイルシステムの 空 き 容 量 が 少 なくなってきた 時 は 原 則 としてパーティションのサイズは 変 更 できないため 十 分 なサイズを 持 つ 新 しいディスクもしくはパーティションを 確 保 し それにデータ を 移 動 させた 上 で 新 しいパーティションをマウントするといった 作 業 を 行 います この 作 業 は 繁 雑 である 上 に 時 間 のかかる 作 業 です また ディスクから 異 音 がするといった 場 合 に ディスクを 交 換 するようなケースでも 同 様 の 作 業 を 必 要 とします -9-
LVM (Logical Volume Manager) LVM ディスク/パーティションを 仮 想 化 する 仕 組 み ユーザーやソフトウェアから 物 理 的 なディスクを 意 識 することなく 利 用 できる ディスク 容 量 不 足 時 の 対 応 (ディスクの 増 設 )やディ スクの 交 換 などが 容 易 に 行 える LVM LVM(Logical Volume Manager)は ユーザーが 扱 うパーティションとして 論 理 ボリュームと 呼 ば れる 単 位 でパーティションを 提 供 して 物 理 的 なディスクの 存 在 を 仮 想 化 (Virtualization)します その 結 果 物 理 的 なディスクの 増 設 や 変 更 などが ユーザーやアプリケーションに 対 して 隠 蔽 されて ディスクデバイス 管 理 の 柔 軟 性 を 向 上 させます LVMは 物 理 ボリューム(PV:Physical Volume) ボリュームグループ(VG:Volume Group) 論 理 ボリューム(LV:Logical Volume)から 構 成 されます -10-
LVMの 構 成 パーティション 物 理 ボリューム 論 理 ボリューム パーティション 物 理 ボリューム パーティション 物 理 ボリューム 論 理 ボリューム ボリュームグループ 物 理 ボリューム(PV) ディスクやパーティションに 作 成 されます パーティションに 物 理 ボリュームを 作 成 すると PE( 物 理 エクステント)という 単 位 に 細 かく 分 割 されます( 標 準 では4MB) 物 理 ボリュームは 複 数 のPE から 構 成 されます ボリュームグループ(VG) 物 理 ボリュームを 束 ねたものがボリュームグループです 従 来 のディスクに 相 当 します 作 成 後 にPVを 追 加 したり 削 除 することができます 論 理 ボリューム(LV) ボリュームグループに 作 成 されます 従 来 のパーティションに 相 当 し ファイルシステムを 作 成 す ることができます 後 から 動 的 にサイズを 変 更 できます -11-
LVMの 構 築 パーティションタイプ LVMでは 8e を 指 定 物 理 ボリュームの 作 成 /dev/hda6~/dev/hda8に 作 成 ボリュームグループの 作 成 vg01とする PVは/dev/hda6と/dev/hda7の2つとする 論 理 ボリュームの 作 成 lv01とする vg01から80mbを 切 り 出 す 手 順 例 1. fdiskコマンドを 用 いて /dev/hda6~/dev/hda8のパーティションタイプを 8e (LVM 用 )に 変 更 する t (パーティション 選 択 ) 8e w 2. ( 必 要 に 応 じて)システムを 再 起 動 する # shutdown -r now 3. ( 必 要 に 応 じて) カーネルモジュール dm-mod をロードする # modprobe dm-mod 4. 物 理 ボリュームを 作 成 する # vgscan # pvcreate /dev/hda6 # pvcreate /dev/hda7 # pvcreate /dev/hda8 5. 物 理 ボリュームを 確 認 する # pvscan 6. ボリュームグループ(vg01)を 作 成 する # vgcreate vg01 /dev/hda6 /dev/hda7 7. ボリュームグループを 確 認 する # vgscan 8. 論 理 ボリューム(lv01)を 作 成 する デバイスファイル/dev/vg01/lv01が 作 成 される # lvcreate -L 80M -n lv01 vg01-12-
LVのサイズ 変 更 LVのサイズ 変 更 lvextendコマンドでサイズを 拡 張 できる VGの 空 き 領 域 を 用 いる ファイルシステムレベルでの 調 整 ext3では resize2fsコマンドでスーパーブロックなどを 再 調 整 できる 手 順 例 1. /dev/vg01/lv01をアンマウントする # umount /mnt 2. 論 理 ボリュームlv01のサイズを 変 更 する # lvextend -L +15M /dev/vg01/lv01 3. fsckコマンドを 用 いてファイルシステムの 整 合 性 を 確 認 する # fsck -f /dev/vg01/lv01 4. resize2fsコマンドを 用 いてファイルシステムの 情 報 を 更 新 する # resize2fs -p /dev/vg01/lv01 5. /mntをマウントポイントとしてマウントする # mount -t ext3 /dev/vg01/lv01 /mnt 6. dfコマンドを 用 いてマウントされている 事 を 確 認 し サイズも 確 認 する # df h VGにPVを 追 加 する VGに 空 きPEがない 場 合 には 新 たにPVをVGに 加 えることでVGに 空 きPEを 確 保 する ボリュームグループvg01に 物 理 ボリュームPVを 追 加 する # vgextend vg01 /dev/sda8 ボリュームグループの 情 報 を 参 照 する # vgdisplay vg01-13-
[ 参 考 ] LVMにおけるディスク 交 換 /dev/sda6を 解 放 する vg01に 所 属 している/dev/hda6にあるエクステントを あいている/dev/hda8に 移 動 PE PE PE PE PE 対 応 論 理 ボリューム hda6 上 のPEを hda8に 移 動 手 順 例 1. /dev/hda6 /dev/hda8のエクステントの 状 況 を 確 認 する # pvdisplay /dev/hda6 # pvdisplay /dev/hda8 2. /dev/hda6にあるエクステントを/dev/hda8に 移 動 する # pvmove /dev/hda6 /dev/hda8 3. 再 度 1. を 実 行 し それぞれのエクステントの 状 況 を 確 認 する 4. /dev/hda6をvg01から 解 放 する # vgreduce vg01 /dev/hda6 5. pvscanを 用 いてPVの 状 況 を 確 認 する # pvscan 6. /dev/hda6をpvから 解 放 する # pvremove /dev/hda6 # pvscan -14-
まとめ ファイルシステムの 作 成 ~ 利 用 パーティションの 作 成 ファイルシステムの 作 成 マウント LVMは 仮 想 的 なパーティションを 構 成 する 仕 組 み 小 さな 物 理 エクステントの 集 合 が 実 態 LVMで 柔 軟 なファイルシステム 管 理 が 行 える 大 容 量 のパーティションの 作 成 パーティションサイズの 変 更 物 理 ディスクの 交 換 スナップショット 機 能 などなど -15-
学 習 のための 参 考 情 報 書 籍 研 修 Linux 教 科 書 LPIC レベル1 第 2 版 中 島 能 和 濱 野 賢 一 朗 著 / 翔 泳 社 合 格 Expert LPI Linux 認 定 試 験 濱 野 賢 一 朗 中 島 能 和 著 / 技 術 評 論 社 リナックスアカデミー 業 界 未 経 験 者 向 けの 総 合 教 育 サービス http://www.linuxacademy.ne.jp/ LAオープンソースユニバーシティ ワンテーマ 型 の 短 期 研 修 サービス http://osu.linuxacademy.ne.jp/ -16-