本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

Linux の101 試験対策: ハード・ディスクのレイアウト

ハード・ディスク・パーティションの構成を計画する

Ian Shields, Senior Programmer, IBM
Ian Shields
Ian Shields は、developerWorks Linux ゾーンの様々な Linux プロジェクトに関わっています。彼はノースキャロライナ州 Research Triangle Park にある IBM のシニア・プログラマーです。1973年にオーストラリアのキャンベラでシステム・エンジニアとして IBM に入社して以来、カナダのモントリオールやノースキャロライナ州 Research Triangle Park で、コミュニケーション・システムやパーベイシブ・コンピューティングに携わってきました。彼はいくつかの特許を保持しています。Australian National University にて純粋数学および哲学で学位を取得し、また North Carolina State University にてコンピューター・サイエンスで修士号と博士号を取得しています。

概要: Linux® システムにおけるディスク・パーティションの構成を設計する方法を学んでください。この記事の内容は、Linux のシステム管理者として認定するための LPI 101 試験に備えるためにも、自ら活用するために学ぶ上でも役立ちます。

このシリーズの他の記事を見る

日付:  2010年 2月 24日
レベル:  中級 この記事の原文:  英語
アクティビティー: 7747 ビュー
お気軽にご意見・ご感想をお寄せください: 


この連載について

この連載は Linux システム管理タスクの学習に役立つだけでなく、LPIC-1 (Linux Professional Institute Certification レベル 1) 試験に備えるための教材にもなります。

連載の各記事についての説明とリンクについては、連載のロードマップを参照してください。現在進行中のこのロードマップは、LPIC-1 試験の最新の目標 (2009年4月) を反映しています。完成した記事はその都度ロードマップに追加されていきますが、当面は developerWorks の LPI 認定試験対策チュートリアルで同様の教材の以前のバージョンを調べてください。これらのバージョンは、2009年4月より前の LPIC-1 目標に対応しています。

概要

この記事では、Linux システムにおけるディスク・パーティションの構成を設計する方法を学びます。この記事で説明する内容は以下のとおりです。

  • ファイルシステムおよびスワップ領域を個々のパーティションまたはディスクに割り当てる方法
  • システムの用途に合わせて設計を調整する方法
  • システムがブート可能であることを確実にする方法

この記事は、Linux Professional Institute の Junior Level Administration (LPIC-1) 101 試験の主題 102 の 102.1 の試験対策となります。この目標の重要度は 2 です。

注: この記事では主にレイアウトの計画について取り上げます。実装手順については、主題 104 に対応する記事 (連載のロードマップで説明) を参照してください。

前提条件

この連載の記事を最大限に活用するには、Linux の基礎知識と、記事に記載されたコマンドを演習できる実際の Linux システムが必要です。プログラムのバージョンによって出力のフォーマットに違いが出てくる場合もあるため、コマンドの実行結果は必ずしもここに記載するリストや図とまったく同じであるとは限りません。


ファイルシステムの概要

Ian とつながるには

Ian は developerWorks で人気の高いお馴染みの著者の 1 人です。Ian が書いたすべての developerWorks 記事を閲覧してみてください。また、My developerWorks では、Ian のプロフィールを調べることや、彼やその他の著者、そして他の読者とつながることができます。

Linux ファイルシステムに保管されるファイルは、ディスクやその他のブロック・ストレージ・デバイス上でディレクトリーという形式で整理されます。他の多くのシステムと同じく、Linux システムでのディレクトリーには、他のディレクトリーを含めることができます。ディレクトリーに含められたディレクトリーは、サブディレクトリーと呼ばれます。Microsoft® Windows® などのシステムでは、ドライブ名 (A:、C: など) ごとにファイルシステムを分けるという概念ですが、Linux ファイルシステムはそれとは異なり、/ ディレクトリーをルート・ディレクトリーとする単一のツリーです。

ファイルシステムがたった 1 つの大きなツリーだとしたら、なぜディスク・レイアウトが重要になるのか不思議に思うかもしれませんが、実際には、ハード・ディスク・パーティション、CD-ROM、あるいはフロッピー・ディスクなどといったブロック・デバイスのそれぞれにファイルシステムがあります。ファイルシステムを 1 つのツリーとして表すために、ツリー内のポイント (マウント・ポイント) に、さまざまなデバイス上のファイルシステムをマウントするというわけです。

通常、カーネルはある特定のハード・ディスクのパーティション上にあるファイルシステムを / としてマウントすることによって、このマウント・プロセスを開始します。ユーザーは他のハード・ディスクのパーティションを /boot、/tmp、または /home としてマウントすることができます。また、例えばフロッピー・ドライブ上のファイルシステムを /mnt/floppy としてマウントすることや、CD-ROM 上のファイルシステムを /media/cdrom1 としてマウントすることもできます。さらに、NFS のような、ネットワークで接続したファイルシステムを使用して、他のシステムからのファイルをマウントすることも可能です。ファイルのマウントには他にも種類がありますが、以上の説明で、このプロセスの概念はつかめるはずです。マウント・プロセスは、実際にはあるデバイス上のファイルシステムをマウントするわけですが、一般的には「デバイスをマウントする」と略して表現されます。これは、「デバイス上のファイルシステムをマウントする」という意味として理解されています。

ここで、例えばルート・ファイルシステム (/) をマウントした直後に、CD-ROM (/dev/sr0) をマウント・ポイント /media/cdrom にマウントする場合を考えてみてください。このマウント・ポイントに CD-ROM をマウントするには、このマウント・ポイントがあらかじめ存在していなければなりません。既存の /media/cdrom に CD-ROM をマウントすると、CD-ROM 上のファイルとサブディレクトリーはこのマウント・ポイント内およびその配下にあるファイルとサブディレクトリーになります。それによって、/media/cdrom 内にあったファイルまたはサブディレクトリーは表示されなくなりますが、これらの既存のファイルおよびサブディレクトリーは、マウント・ポイント /media/cdrom が含まれていたブロック・デバイス上に残っています。そのため、CD-ROM がアンマウントされると、元のファイルとサブディレクトリーが再び表示されることになってしまいます。このような問題が起こらないようにするため、マウント・ポイントとして使用する目的のディレクトリーには他のファイルを置かないでください。

表 1 に、FHS (Filesystem Hierarchy Standard) で規定されている / 配下のディレクトリーを記載します (FHS についての詳細は、「参考文献」を参照してください)。


表 1. FHS で規定された / 配下のディレクトリー
ディレクトリー説明
bin必須のコマンド・バイナリー
bootブート・ローダーの静的ファイル
devデバイス・ファイル
etcホスト固有のシステム構成
lib必須の共有ライブラリーおよびカーネル・モジュール
media取り外し可能なメディアのマウント・ポイント
mntファイルシステムを一時的にマウントするためのマウント・ポイント
optアドオン・アプリケーションのソフトウェア・パッケージ
sbin必須のシステム・バイナリー
srvこのシステムが提供するサービスのためのデータ
tmp一時ファイル
usr2 次階層
var可変データ

パーティション

通常、1 番目の SCSI ドライブは /dev/sda となります。古いバージョンの Linux システムでの 1 番目の IDE ハード・ディスクは /dev/hda です。シリアル転送方式にした IDE ドライブ (SATA) の登場により、PATA/SATA 混合時のシステムでは 1 番目の PATA ドライブに /dev/hda を使用し、1 番目の SATA ドライブに /dev/sda を使用することもあります。新しいバージョンのシステムでは、すべての IDE ドライブが /dev/sda、/dev/sdb という形の名前になります。IDE ドライブの名前は、(最初は USB ドライブをサポートしていた) ホットプラグ・システムに対応することで変更されるようになりました。ホットプラグでは、新しいデバイスを接続すると同時に使用することができます。今では、デバイスがシステムに統合されるのか、あるいは USB や Firewire (IEEE 1394)、あるいは別の接続タイプによって、デバイスが実行中のシステムに接続されるのかに関わらず、すべてのデバイスにホットプラグが使用されています。

従来から、ハード・ディスクは 512 バイトのセクターにフォーマットされます。ディスク・プラッター上の、ヘッドを動かさずに読み取り可能なセクターはすべてトラックの構成要素となります。ディスクには通常、複数のプラッターがあります。プラッター上にあり、ヘッドを動かさずに読み取り可能なトラックの集合は、シリンダーと呼ばれます。ハード・ディスクのジオメトリーはシリンダーの数、シリンダーあたりのトラック (ヘッド) 数、およびトラックあたりのセクター数で表現されます。この記事を執筆している時点で、ハード・ディスクのメーカー各社は、セクターが 4K のディスクを導入するようになっています。ファイルシステムが以前と同じく 512 バイトのセクターを前提としていると、パーティションが 4K の境界にあるセクターで開始しない場合、パフォーマンスが劣化します。

PC システムの DOS オペレーティング・システムで使用されていたシリンダー、ヘッド、セクターにはサイズに制限があったため、より容量の大きいハード・ディスクをサポートできるように BIOS によるジオメトリー値の変換が使用されるようになりました。けれども結局のところ、いずれの方法も十分ではありませんでした。そこで、ディスク・ドライブ技術における最近の開発によってもたらされたのが、論理ブロック・アドレッシング (LBA) という手法です。この手法により、CHS (シリンダー、ヘッド、セクター) ジオメトリー測定値はそれほど重要でなくなりました。最近のディスクに関して報告されるジオメトリーは、実際の物理セクター・レイアウトとほとんど、あるいはまったく関係ない場合もあります。現在使用されている大容量ディスクに対応するために拡張された LBA は、最大 48 ビット分のセクター数を確保することから、LBA48 として知られています。

ハード・ディスク上のスペースはパーティションに分割 (セグメント化) されます。パーティションが重なり合うことはできません。パーティションに割り当てられていないスペースは空き領域と呼ばれます。パーティションには、/dev/hda1、/dev/hda2、/dev/hda3、/dev/sda1 といった名前が付けられます。IDE ドライブのホットプラグをサポートしないシステムでは、IDE ドライブのパーティションは 63 に制限されます。ホットプラグ対応の SCSI ドライブ、USB ドライブ、IDE ドライブで使用できるパーティションは 15 です。パーティションは多くの場合、シリンダー単位の整数として割り当てられます (基準となるシリンダーの概念は正確ではない可能性もあります)。

2 つの異なるパーティショニング・プログラムが、公称ディスク・ジオメトリーをそれぞれに異なって理解すると、一方のパーティショニング・プログラムが作成したパーティションに対し、もう一方のパーティショニング・プログラムがエラー、または問題の可能性を報告する場合があります。このような問題は、システム間の BIOS 機能が異なる場合はなおさらのこと、ディスクがあるシステムから別のシステムに移動されたときにも起こることがあります。

Linux システムで公称ジオメトリーを確認するには、parted または fdisk いずれかのツールを使用します。古いバージョンの Linux システムでも、ジオメトリーは /proc ファイルシステム内の (新しいバージョンのシステムにはおそらく存在しない) /proc/ide/hda/geometry などのファイルで報告されていました。リスト 1 に、fdisk コマンドを使用して、SATA 接続を使用した IDE ハード・ディスクのパーティションおよびジオメトリーを表示する方法を記載します。ここで、fdisk-v パラメーターが指定するのはバージョンです。パーティション・テーブルを表示または操作するには、root ユーザーであるか、または以下のように sudo を使って root 権限を取得する必要があります。


リスト 1. ハード・ディスクのジオメトリー
ian@attic4:~$ fdisk -v
fdisk (util-linux-ng 2.16)
ian@attic4:~$ sudo fdisk /dev/sdb
[sudo] password for ian: 

The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000404d6

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          25      200781   83  Linux
/dev/sdb2              26       12965   103940550   83  Linux
/dev/sdb3           12966       30401   140054670   83  Linux

Command (m for help): 

リスト 1 では、fdisk がシリンダー 1024 の公称終了位置について警告を出力していることに注意してください。シリンダー 1024 が重要となるのは、BIOS がディスクの最初の 1024 のシリンダー内に完全に収まっているパーティションしかブートすることができない一部の古いシステムです。その場合、LBA サポートを備えていない BIOS や、古いバージョンのブート・マネージャーで問題が起こりがちです。最近のマシンでこれが問題になることは通常ありませんが、このような制約があることを認識しておいてください。

fdisk-u オプションを指定すると、セクター単位で表示することができます。また、対話モードで u サブコマンドを使用することによって、セクター単位とシリンダー単位を切り替えることもできます。一方、parted コマンドは、数種類の単位をサポートします。リスト 2 に、リスト 1 で使用したディスクと同じディクスに対し、parted で異なる単位を使用する方法を説明します。


リスト 2. parted で異なる単位を使用する方法
ian@attic4:~$ sudo parted /dev/sdb
[sudo] password for ian: 
GNU Parted 1.8.8.1.159-1e0e
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help u                                                          
  unit UNIT                                set the default unit to UNIT

	UNIT is one of: s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB,
        GiB, TiB
(parted) p                                                                
Model: ATA HDT722525DLA380 (scsi)
Disk /dev/sdb: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  206MB  206MB  primary  ext3
 2      206MB   107GB  106GB  primary  ext4
 3      107GB   250GB  143GB  primary  ext3

(parted) u s                                                              
(parted) p                                                                
Model: ATA HDT722525DLA380 (scsi)
Disk /dev/sdb: 488397168s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start       End         Size        Type     File system  Flags
 1      63s         401624s     401562s     primary  ext3
 2      401625s     208282724s  207881100s  primary  ext4
 3      208282725s  488392064s  280109340s  primary  ext3

(parted) u chs                                                            
(parted) p                                                                
Model: ATA HDT722525DLA380 (scsi)
Disk /dev/sdb: 30401,80,62
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 30401,255,63.  Each cylinder is 8225kB.
Partition Table: msdos

Number  Start      End           Type     File system  Flags
 1      0,1,0      24,254,62     primary  ext3
 2      25,0,0     12964,254,62  primary  ext4
 3      12965,0,0  30400,254,62  primary  ext3

(parted)

parted の出力と fdisk の出力とでは、示される開始シリンダーと終了シリンダーに明らかな違いがあることに注意してください。これは、parted ではシリンダーを 0 からカウントする一方、fdisk では 1 からカウントするためです。リスト 3 を見るとわかるように、fdisk が示す開始セクターと終了セクターは、parted と同じです。


リスト 3. 開始セクター番号と終了セクター番号の確認
ian@attic4:~$ sudo fdisk -ul /dev/sdb

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x000404d6

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63      401624      200781   83  Linux
/dev/sdb2          401625   208282724   103940550   83  Linux
/dev/sdb3       208282725   488392064   140054670   83  Linux
ian@attic4:~$ echo $(( 208282725 / 255 / 63 ))
12965

パーティションのタイプ

IDE ドライブのパーティションには、基本 (primary)、論理 (logical)、拡張 (extended) という 3 つのタイプがあります。パーティション・テーブルが配置されるのは、ディスクのマスター・ブート・レコード (MBR) です。MBR はディスク上の 1 番目のセクターなので、パーティション・テーブルがこのセクターで占める部分はそれほど大きくありません。そのため、ディスク上の基本パーティションの数は 4 に制限されます。これより多くのパーティションが必要になることは珍しくありませんが、その場合には、基本パーティションの 1 つが拡張パーティションに変更されることになります。

拡張パーティションは、1 つ、あるいは通常は複数の論理パーティションのコンテナーでしかありません。このパーティション方式は、元々 MS DOS と PC DOS で使用されていたもので、この方式により、PC ディスクが DOS、Windows、または Linux システムで使用できるようになります。ディスクに含めることのできる拡張パーティションは 1 つだけです。データが保管されるのは拡張パーティション内の論理パーティションなので、拡張パーティションのなかに論理パーティションを作成してからでないと、データを拡張パーティションに保管することはできません。

Linux では基本パーティションまたは拡張パーティションに 1 から 4 までの番号を付けます。したがって、dev/sda は例えば /dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4 という 4 つの基本パーティションを持つこともあれば、/dev/sda1 という 1 つの基本パーティションと /dev/sda2 という拡張パーティションを持つこともあります。論理パーティションが定義される場合には 5 の番号から付けられるため、/dev/sda 上の 1 番目の論理パーティションは /dev/sda5 となります。これは、ディスク上に基本パーティションがなく、1 つの拡張パーティション (/dev/sda1) のみがある場合でも変わりません。つまり、IDE ドライブに 5 つ以上のパーティションが必要な場合には、拡張パーティションまでのパーティションの番号が 1 つなくなるということです。ホットプラグ対応のカーネルの場合、IDE ドライブ上で使用できる理論上の最大パーティション数は現在 15 となっていますが、最後のいくつかのパーティションについては、作成できることもあれば、作成できないこともあります。ドライブ上で 12 を超えるパーティションを使用しようと計画している場合には、すべてが機能することを慎重に確認してください。

上記の例で使用したディスクには 3 つの基本パーティションがあり、いずれも Linux 用にフォーマットされています。この 3 つのパーティションのうち、2 つは ext3 ファイルシステムを使用し、1 つは ext4 を使用します。parted コマンド p を、基本パーティション、拡張パーティション、論理パーティションが設定された Ubuntu 9.10 システムの内部ドライブに対して実行した場合の出力、そして Fedora 12 システムに接続された USB ドライブに対して実行した場合の出力をリスト 4 に記載します。ここでは、ファイルシステムのタイプの違いに注意してください。また、もう 1 つ注意する点として、対話モードを使用する代わりに、コマンドラインには 1 つ以上の parted コマンドを指定することができます。


リスト 4. parted によるパーティション・テーブルの表示

ian@attic4:~$ sudo parted /dev/sda u s p
[sudo] password for ian: 
Model: ATA WDC WD6401AALS-0 (scsi)
Disk /dev/sda: 1250263728s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start       End          Size         Type      File system     Flags
 1      63s         2040254s     2040192s     primary   ext3
 2      2040255s    22523129s    20482875s    primary   linux-swap(v1)
 4      22523130s   1250258624s  1227735495s  extended                  boot
 5      22523193s   167397299s   144874107s   logical   ext3
 6      167397363s  310761359s   143363997s   logical   ext3
 7      310761423s  455442749s   144681327s   logical   ext3
 8      455442813s  600092009s   144649197s   logical   ext3
[root@echidna ~]# parted /dev/sdc p
Model: WD My Book (scsi)
Disk /dev/sdc: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size    Type      File system  Flags
 1      32.3kB  135GB  135GB   primary   fat32        lba
 2      135GB   750GB  616GB   extended
 5      135GB   292GB  157GB   logical   ext3
 6      292GB   479GB  187GB   logical   ext3
 7      479GB   555GB  76.5GB  logical   ext3
 8      555GB   750GB  195GB   logical   ext3


ディスク・スペースの割り当て

前述のとおり、Linux ファイルシステムは / をルートに持つ 1 つの大きなツリーです。フロッピー・ディスクや CD-ROM 上のデータをマウントしなければならない理由は至って明白ですが、ハード・ディスクに保管されたデータの区分を考慮しなければならない理由については、それほど明白ではないかもしれません。ファイルシステムを区分する正当な理由には、例えば以下のものがあります。

  • ブート・ファイル。一部のファイルは、ブート時に BIOS またはブート・ローダーにアクセス可能でなければなりません。
  • 複数のハード・ディスク。通常、各ハード・ディスクは 1 つ以上のパーティションに分割され、それぞれのパーティションのファイルシステムは、ファイルシステム・ツリーのいずれかの場所にマウントする必要があります。
  • 共有可能ファイル。複数のシステム・イメージが、静的ファイル (例えば実行可能プログラム・ファイルなど) を共有する場合があります。また、ユーザーが同じホーム・ディレクトリーとメール・システムを使用して、ネットワーク上のどのマシンにもログインできるようにするため、ユーザーのホーム・ディレクトリーやメール・スプール・ファイルなどの動的ファイルを共有する場合もあります。
  • オーバーフローの可能性。あるファイルシステムがその容量の 100 パーセントを使い果たす可能性がある場合、通常はシステムを実行するために必要なファイルから、そのファイルを分離することが得策となります。
  • クォータ。クォータは、ユーザーまたはグループがファイルシステムで使用できる容量を制限します。
  • 読み取り専用マウント。ジャーナリング・ファイルシステムが登場する以前は、システム・クラッシュ後にファイルシステムのリカバリーをするには大抵、長い時間がかかりました。そのため、ほとんど変更されることのないファイルシステム (例えば、実行可能プログラムのディレクトリーなど) については、システム・クラッシュ後のチェックに無駄な時間を費やさないようにするため、読み取り専用でマウントされることもありました。

ここまでで取り上げてきたファイルシステムの使用法に加え、ディスク上のスワップ領域の割り当てについても考慮しなければなりません。Linux システムの場合、スワップ領域は通常 1 つ、場合によっては複数の専用パーティションとなります。


適切な選択

例えば、1 つ以上のハード・ディスクを搭載したシステムをセットアップし、ハード・ディスクからブートすることを計画しているとします (この記事では、LAN 経由でブートするディスクレス・ワークステーションのセットアップや、ライブ CD または DVD の Linux システムを使用する際の考慮事項については取り上げません)。パーティションのサイズは後からでも変更できますが、それには通常、ある程度の作業が必要になってきます。そのため、前もって適切な選択を行うことが重要です。それでは早速、適切な選択を行うための手順に取り掛かりましょう。

最初に考慮しなければならないことは、システムを確実にブートできるようにすることです。一部の古いバージョンのシステムには、BIOS はディスクの最初の 1024 シリンダー内に完全に収まっているパーティションからでないとブートできないという制約があります。そのようなシステムを使用している場合には、最終的に /boot としてマウントされるパーティションを作成し、そこに、システムをブートするために必要なファイルを保持する必要があります。これらのファイルのロードが完了すると、Linux システムがディスク操作を引き継ぐため、システムのその後の操作が 1024 のシリンダー制約によって影響されることはありません。/boot としてパーティションを作成する必要がある場合、通常は約 100 メガバイト (MB) もあれば十分です。

次の考慮事項として考えられるのは、必要なスワップ領域の容量です。現在のメモリーの相場では、スワップ領域は非常に遅い予備メモリーとなります。かつての一般的な経験則は、実際の RAM の容量に相当するスワップ領域を作成することでした。現在は、RAM を使い果たすことなく複数の大きなプログラムを使用できるように、ワークステーションには実際の RAM と同等、またはその 2 倍のスワップ領域を構成することをお勧めします。スワップ領域と RAM との切り替えに時間がかかるとしても、おそらく常に作業しているのは 1 つ、または 2 つのパーティションのなかでだけです。

大きなスワップ領域は、メモリーの容量が非常に少ないシステムにもお勧めできます。サーバーには、RAM の約半分のスワップ領域を使用するようにしてください (ただし、これ以外の値を推奨しているアプリケーションを実行している場合は別です)。いずれにしても、サーバーのメモリー使用率をモニターして、必要に応じて実際の RAM を追加するか、ワークロードを追加サーバーの間で分散できるようにしなければなりません。過度のスワップ処理が、サーバーに功を奏すことはめったにありません。スワップ用ファイルを使用することも可能ですが、専用パーティションのほうがパフォーマンスには優れています。

ここで、パーソナル・ワークステーションを使用するか、サーバーを使用するかを選択しなければなりません。パーソナル・ワークステーションを使用すると、サーバーを使用する場合に比べ、必要な容量を予測するのが遥かに難しくなりがちです。私が (特に Linux 初心者に) お勧めする方法は、標準ディレクトリー (/usr、/opt、/var など) の大部分を 1 つの大きなパーティションに割り当てることです。特に、これから何がインストールされることになるのかはっきりしていない Linux 初心者にとっては、この方法が役に立ちます。グラフィカル・デスクトップと、そこそこの数の開発ツールを実行しているワークステーションには、おそらく 5 ギガバイト以上のディスク・スペースに加え、ユーザー用の領域が必要となるはずです。サイズの大きい開発ツールには、単独で数ギガバイトを要する場合もあります。私は通常、オペレーティング・システムあたり 40 GB から 60 GB を割り当て、ディスクの残りは空けたままにして、他のディストリビューションをロードできるようにしています。

サーバーのワークロードは、ワークステーションに比べて安定したものとなるはずであるため、特定のファイルシステムの領域が使い果たされると、より深刻な結果となりがちです。そのため一般的には、複数のディスクに分散した複数のパーティションを作成することになります。場合によっては、これらのパーティションにハードウェア RAID やソフトウェア RAID、あるいは論理ボリューム・グループを使用することもあります。

さらに、それぞれのファイルシステムでのワークロードについて検討し、ファイルシステムを複数のシステムで共有させるか、または 1 つのシステムにだけ使用させるかについても決定しなければなりません。システムに最適な割り当ては、経験、キャパシティ計画ツール、ワークロードの増加予測を兼ね合わせて検討することで判断できます。

ワークステーションとサーバーのどちらを構成しているかに関わらず、各システムに固有のファイルはローカル・ドライブに置かれます。一般的にこれらのファイルシステムには、システム・パラメーター・ファイルの /etc、ブート時に必要なファイルの /boot、ブートまたはシステム・リカバリーに必要なファイルの /sbin、root ユーザーのホーム・ディレクトリーの /root、ロック・ファイルの /var/lock、実行されているシステムの情報の /var/run、システム・ログ・ファイルの /var/log があります。ユーザーのホーム・ディレクトリーの /home や、usr、/opt、/var/mail、または /var/spool/news などといったその他のファイルシステムは、インストールの必要とユーザーの選択に応じて、別個のパーティションまたはネットワークにマウントされたパーティションに置かれます。


参考文献

学ぶために

製品や技術を入手するために

  • SystemRescueCd CD-ROM をダウンロードしてください。これはオンラインで入手できる数多くのツールの 1 つで、システム・クラッシュ後のリカバリーを支援します。

  • developerWorks から直接ダウンロードできる IBM ソフトウェアの試用版を使用して、Linux で次の開発プロジェクトを構築してください。

議論するために

著者について

Ian Shields

Ian Shields は、developerWorks Linux ゾーンの様々な Linux プロジェクトに関わっています。彼はノースキャロライナ州 Research Triangle Park にある IBM のシニア・プログラマーです。1973年にオーストラリアのキャンベラでシステム・エンジニアとして IBM に入社して以来、カナダのモントリオールやノースキャロライナ州 Research Triangle Park で、コミュニケーション・システムやパーベイシブ・コンピューティングに携わってきました。彼はいくつかの特許を保持しています。Australian National University にて純粋数学および哲学で学位を取得し、また North Carolina State University にてコンピューター・サイエンスで修士号と博士号を取得しています。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=475641
ArticleTitle=Linux の101 試験対策: ハード・ディスクのレイアウト
publish-date=02242010
author1-email=ishields@us.ibm.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。