ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (デバイスとファイルシステム) Oracle Solaris 10 8/11 Information Library (日本語) |
14. Oracle Solaris iSCSI ターゲットおよびイニシエータの構成 (手順)
Oracle Solaris ファイルシステムのマウントおよびマウント解除
Oracle Solaris ファイルシステムをマウント解除するための前提条件
Oracle Solaris ファイルシステムの作成およびマウント
UFS ファイルシステムをマルチテラバイトの UFS ファイルシステムに拡張する方法
マルチテラバイトの UFS ファイルシステムに関する問題の障害追跡
1 つのファイルシステムをマウントする方法 (/etc/vfstab ファイル)
UFS ファイルシステムのマウント方法 (mount コマンド)
大規模ファイルを持たない UFS ファイルシステムをマウントする方法 (mount コマンド)
NFS ファイルシステムのマウント方法 (mount コマンド)
22. UFS ファイルシステムのバックアップと復元 (概要)
23. UFS ファイルとファイルシステムのバックアップ (手順)
この節では、Oracle Solaris ファイルシステムを作成およびマウントする方法の具体例を示します。
次の例は、tank という名前の単純なミラー化ストレージプールと tank という名前の ZFS ファイルシステムを、1 つのコマンドで作成する方法を示しています。/dev/dsk/c1t0d0 ディスク全体と /dev/dsk/c2t0d0 ディスク全体を使用することを前提としています。
# zpool create tank mirror c1t0d0 c2t0d0
# zfs create tank/fs
この新規 ZFS ファイルシステム tank/fs では、ディスク領域を必要なだけ使用でき、/tank/fs に自動的にマウントされます。
# zfs list -r tank NAME USED AVAIL REFER MOUNTPOINT tank 117K 268G 21K /tank tank/fs 21K 268G 21K /tank/fs
始める前に
次の前提条件を満たしているかどうかを確認します。
ディスクがフォーマットされ、スライスに分割されている。
既存の UFS ファイルシステムを作成し直す場合は、そのマウントを解除する。
ファイルシステムを格納するスライスのデバイス名がわかっている。
ディスクおよびディスクスライス番号の検索方法については、第 11 章ディスクの管理 (手順)を参照してください。
ディスクのフォーマットとスライスへの分割方法については、第 10 章ディスクの管理 (概要)を参照してください。
# newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
システムから、確認を促すプロンプトが表示されます。
注意 - この手順を実行する前に、スライスのデバイス名が正しく指定されていることを確認してください。間違ったスライスを指定すると、その内容は新しいファイルシステムの作成時に消去されます。そして、システムがパニックを起こす原因となる可能性があります。 |
# fsck /dev/rdsk/device-name
device-name 引数は、新しいファイルシステムを格納するディスクデバイスの名前を指定します。
fsck コマンドは、新しいファイルシステムの整合性を検査して、問題があれば通知し、問題を修復する前にプロンプトを表示します。fsck コマンドの詳細は、第 20 章UFS ファイルシステムの整合性検査 (手順)または fsck(1m) を参照してください。
例 17-2 UFS ファイルシステムの作成およびマウント
次の例は、UFS ファイルシステム /dev/rdsk/c0t1d0s0 を作成して /legacy にマウントする方法を示しています。
# newfs /dev/rdsk/c0t1d0s0 newfs: construct a new file system /dev/rdsk/c0t1d0s0: (y/n)? y /dev/rdsk/c0t1d0s0: 286722656 sectors in 46668 cylinders of 48 tracks, 128 sectors 140001.3MB in 2917 cyl groups (16 c/g, 48.00MB/g, 5824 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920, Initializing cylinder groups: .......................................................... super-block backups for last 10 cylinder groups at: 285773216, 285871648, 285970080, 286068512, 286166944, 286265376, 286363808, 286462240, 286560672, 286659104 # fsck /dev/rdsk/c0t1d0s0 # mkdir /legacy # mount /dev/dsk/c0t1d0s0 /legacy
ブート時にレガシー UFS ファイルシステムを自動的にマウントする場合は、「/etc/vfstab ファイルにエントリを追加する方法」に進んでください。
マルチテラバイトの UFS ファイルシステムは、Solaris ボリュームマネージャーまたは VxVM ボリューム、あるいは 1T バイトを超える物理ディスクとして提供されたマルチテラバイトの LUN が利用できることを前提にサポートされています。
マルチテラバイトの UFS ファイルシステムを作成する前に、次のいずれかを行う必要があります。
format ユーティリティーまたは Solaris インストールユーティリティーを使ってマルチテラバイトのディスクパーティションを作成しておきます
Solaris ボリュームマネージャーを使ってマルチテラバイトのボリュームを設定しておきます
マルチテラバイト UFS ファイルシステムの詳細は、「マルチテラバイトの UFS ファイルシステムのサポート」を参照してください。
たとえば、次のコマンドを実行すると、1.8T バイトボリュームの UFS ファイルシステムが作成されます。
# newfs /dev/md/rdsk/d99 newfs: construct a new file system /dev/md/rdsk/d99: (y/n)? y /dev/md/rdsk/d99: 3859402752 sectors in 628158 cylinders of 48 tracks, 128 sectors 1884474.0MB in 4393 cyl groups (143 c/g, 429.00MB/g, 448 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 878752, 1757472, 2636192, 3514912, 4393632, 5272352, 6151072, 702... Initializing cylinder groups: ........................................................................ super-block backups for last 10 cylinder groups at: 3850872736, 3851751456, 3852630176, 3853508896, 3854387616, 3855266336, 3856145056, 3857023776, 3857902496, 3858781216
次に例を示します。
# fsck /dev/md/rdsk/d99 ** /dev/md/rdsk/d99 ** Last Mounted on ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 2 files, 2 used, 241173122 free (0 frags, 241173122 blocks, 0.0% fragmentation)
次に例を示します。
# mount /dev/md/dsk/d99 /bigdir # df -h /bigdir Filesystem size used avail capacity Mounted on /dev/md/dsk/d99 1.8T 64M 1.8T 1% /bigdir
マルチテラバイトの UFS ファイルシステムを作成したあとは、growfs コマンドを使ってファイルシステムを拡張できます。たとえば、前の手順でボリュームに作成したファイルシステムを使用すると、別のディスクをこのボリュームに追加できます。その後で、ファイルシステムを拡張します。
次に例を示します。
# metattach d99 c4t5d0s4 d99: component is attached # metastat d99: Concat/Stripe Size: 5145882624 blocks (2.4 TB) Stripe 0: Device Start Block Dbase Reloc c0t1d0s4 36864 Yes Yes Stripe 1: Device Start Block Dbase Reloc c3t7d0s4 0 No Yes Stripe 2: Device Start Block Dbase Reloc c1t1d0s4 0 No Yes Stripe 3: Device Start Block Dbase Reloc c4t5d0s4 0 No Yes
次に例を示します。
# growfs -v /dev/md/rdsk/d99 /usr/lib/fs/ufs/mkfs -G /dev/md/rdsk/d99 5145882624 /dev/md/rdsk/d99: 5145882624 sectors in 837546 cylinders of 48 tracks, 128 sectors 2512638.0MB in 5857 cyl groups (143 c/g, 429.00MB/g, 448 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 878752, 1757472, 2636192, 3514912, 4393632, 5272352, 6151072, 702... Initializing cylinder groups: ......................................................................... super-block backups for last 10 cylinder groups at: 5137130400, 5138009120, 5138887840, 5139766560, 5140645280, 5141524000, 5142402720, 5143281440, 5144160160, 5145038880, #
次に例を示します。
# mount /dev/md/dsk/d99 /bigdir # df -h /bigdir Filesystem size used avail capacity Mounted on /dev/md/dsk/d99 2.4T 64M 2.4T 1% /bigdir
UFS ファイルシステムを 1T バイトを超えるサイズに拡張するには、次の手順を実行します。この手順は、newfs -T オプションを使って UFS ファイルシステムを作成したことを前提としています。
たとえば、次のボリュームは 800G バイトです。
# metastat d98 d98: Concat/Stripe Size: 1677754368 blocks (800 GB) Stripe 0: Device Start Block Dbase Reloc c0t1d0s4 0 No Yes Stripe 1: Device Start Block Dbase Reloc c3t7d0s4 0 No Yes
次に例を示します。
# metattach d98 c1t1d0s4 d98: component is attached # metastat d98 d98: Concat/Stripe Size: 2516631552 blocks (1.2 TB) Stripe 0: Device Start Block Dbase Reloc c0t1d0s4 0 No Yes Stripe 1: Device Start Block Dbase Reloc c3t7d0s4 0 No Yes Stripe 2: Device Start Block Dbase Reloc c1t1d0s4 0 No Yes
次に例を示します。
growfs -v /dev/md/rdsk/d98 /usr/lib/fs/ufs/mkfs -G /dev/md/rdsk/d98 2516631552 /dev/md/rdsk/d98: 2516631552 sectors in 68268 cylinders of 144 tracks, 256 sectors 1228824.0MB in 2731 cyl groups (25 c/g, 450.00MB/g, 448 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 921888, 1843744, 2765600, 3687456, 4609312, 5531168, 6453024, 737... 8296736, Initializing cylinder groups: ...................................................... super-block backups for last 10 cylinder groups at: 2507714848, 2508636704, 2509558560, 2510480416, 2511402272, 2512324128, 2513245984, 2514167840, 2515089696, 2516011552,
次に例を示します。
# mount /dev/md/dsk/d98 /datadir # df -h /datadir Filesystem size used avail capacity Mounted on /dev/md/dsk/d98 1.2T 64M 1.2T 1% /datadir
マルチテラバイトの UFS ファイルシステムに関する問題の障害追跡には、次のエラーメッセージと解決法を参考にしてください。
mount: /dev/rdsk/c0t0d0s0 is not this fstype.
1T バイトを超える UFS ファイルシステムを、この機能をサポートしていない Solaris リリースが動作するシステムにマウントしようとしました。
1T バイトを超える UFS ファイルシステムは、現在の Solaris リリースが動作するシステムにマウントしてください。
"File system was not set up with the multi-terabyte format." "Its size cannot be increased to a terabyte or more."
newfs -T コマンドを使わずに作成したファイルシステムを拡張しようとしました。
1T バイトより大きくするファイルシステムのデータをバックアップします。
newfs コマンドを使用して、ファイルシステムをマルチテラバイトファイルシステムに再作成します。
新しく作成したファイルシステムにバックアップされていたデータを復元します。
# mkdir /mount-point
/mount-point は、TMPFS ファイルシステムがマウントされるディレクトリです。
# mount -F tmpfs [-o size=number] swap mount-point
TMPFS ファイルシステムのサイズ制限を M バイト単位で示します。
TMPFS ファイルシステムがマウントされるディレクトリを示します。
ブート時に TMPFS ファイルシステムが自動的にマウントされるようにシステムを設定する方法については、例 17-4 を参照してください。
# mount -v
例 17-3 TMPFS ファイルシステムを作成およびマウントする
次の例は、TMPFS ファイルシステム /export/reports を作成およびマウントし、そのサイズを 50M バイトに制限する方法を示しています。
# mkdir /export/reports # chmod 777 /export/reports # mount -F tmpfs -o size=50m swap /export/reports # mount -v
例 17-4 ブート時に TMPFS ファイルシステムをマウントする
ブート時にシステムが自動的に TMPFS ファイルシステムをマウントするように設定するには、/etc/vfstab のエントリを追加します。次の例は、ブート時に /export/test を TMPFS ファイルシステムとしてマウントする /etc/vfstab ファイルのエントリを示しています。size=number オプションを指定していないため、/export/test の TMPFS ファイルシステムのサイズは利用できるシステムリソースによってのみ制限されます。
swap - /export/test tmpfs - yes -
/etc/vfstab ファイルの詳細は、「/etc/vfstab ファイルのフィールドの説明」を参照してください。
# mkdir loopback-directory
# mkdir /mount-point
# mount -F lofs loopback-directory /mount-point
ループバックマウントポイントにマウントするファイルシステムを指定します。
LOFS ファイルシステムをマウントするディレクトリを指定します。
# mount -v
例 17-5 LOFS ファイルシステムを作成およびマウントする
次の例は、新しいソフトウェアを、実際にはインストールしないで、ループバックファイルシステムとして /new/dist ディレクトリに作成、マウント、およびテストする方法を示しています。
# mkdir /tmp/newroot # mount -F lofs /new/dist /tmp/newroot # chroot /tmp/newroot newcommand
例 17-6 ブート時に LOFS ファイルシステムをマウントする
ブート時にシステムが自動的に LOFS ファイルシステムをマウントするように設定するには、/etc/vfstab ファイルの最後にエントリを追加します。次の例は、ルート (/) ファイルシステムの LOFS ファイルシステムを /tmp/newroot にマウントする /etc/vfstab ファイルのエントリを示しています。
/ - /tmp/newroot lofs - yes -
ループバックファイルシステムのエントリは、/etc/vfstab ファイル内の最後のエントリでなければなりません。ループバックファイルシステムの /etc/vfstab エントリが、そこに組み込まれるファイルシステムよりも前にあると、ループバックファイルシステムをマウントできません。
参照
/etc/vfstab ファイルの詳細は、「/etc/vfstab ファイルのフィールドの説明」を参照してください。
レガシーのマウント動作が必要な ZFS ファイルシステムが存在しない場合は、ここに示す手順に従ってブート時に非 ZFS ファイルシステムをマウントします。ZFS ファイルシステムをマウントする方法の詳細は、『Oracle Solaris ZFS 管理ガイド』を参照してください。
# mkdir /mount-point
ファイルシステムをマウントするには、ローカルシステム上にマウントポイントを作成する必要があります。「マウントポイント」とは、マウントされるファイルシステムが接続されるディレクトリのことです。
/etc/vfstab フィールドのエントリの詳細は、表 17-1 を参照してください。
注 - ルート (/) ファイルシステムは、ブートプロセスの過程でカーネルによって読み取り専用としてマウントされます。そのため、remount オプション (および、remount と一緒に使用できるオプション) だけが /etc/vfstab ファイルのルート (/) エントリでは有効です。
例 17-7 /etc/vfstab ファイルにエントリを追加する
次の例は、ディスクスライス /dev/dsk/c0t3d0s7 を UFS ファイルシステムとして、マウントポイント /files1 にマウントする方法を示しています。「device to fsck」として raw キャラクタ型デバイス /dev/rdsk/c0t3d0s7 を指定します。「fsck pass」の値が 2 なので、ファイルシステムは順不同で検査されます。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /files1 ufs 2 yes -
次の例は、システム pluto 上のディレクトリ /export/man を、NFS ファイルシステムとしてマウントポイント /usr/man にマウントする方法を示しています。ファイルシステムが NFS であるため、「device to fsck」や「fsck pass」は指定されません。この例では、「mount options」は ro (読み取り専用) と soft になっています。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options pluto:/export/man - /usr/man nfs - yes ro,soft
次の例は、ルート (/) ファイルシステムをループバックマウントポイント /tmp/newroot にマウントする方法を示しています。LOFS ファイルシステムをマウントするときは、LOFS ファイルシステム内に入るファイルシステムを先にマウントし、その後で LOFS をマウントします。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # / - /tmp/newroot lofs - yes -
# mount /mount-point
/mount-point は、/etc/vfstab ファイル内の「mount point」または「device to mount」フィールドのエントリを指定します。通常は、マウントポイントを指定するほうが簡単です。
例 17-8 1 つのファイルシステムをマウントする (/etc/vfstab ファイル)
次の例は、/etc/vfstab ファイル内に列挙されているファイルシステム /legacy をマウントする方法を示しています。
# mount /legacy
例 17-9 すべてのファイルシステムをマウントする (/etc/vfstab ファイル)
次に、ファイルシステムがすでにマウントされている状態で mountall コマンドを使用したとき表示されるメッセージの例を示します。
# mountall mount: /tmp is already mounted or swap is busy
次の例は、/etc/vfstab ファイル内に列挙されているすべてのローカルシステムをマウントする方法を示しています。
# mountall -l
次の例は、使用可能なすべての ZFS ファイルシステムをマウントする方法を示します。
# zfs mount -a
次の例は、/etc/vfstab ファイル内に列挙されているすべてのリモートファイルシステムをマウントする方法を示しています。
# mountall -r
# mkdir /mount-point
ファイルシステムをマウントするには、ローカルシステム上にマウントポイントを作成する必要があります。「マウントポイント」とは、マウントされるファイルシステムが接続されるディレクトリのことです。
# mount [-o mount-options] /dev/dsk/device-name /mount-point
例 17-10 UFS ファイルシステムをマウントする (mount コマンド)
次の例は、/dev/dsk/c0t3d0s7 を /files1 ディレクトリにマウントする方法を示しています。
# mount /dev/dsk/c0t3d0s7 /files1
ファイルシステムのマウント時には、largefiles オプションがデフォルトで選択されます。このオプションにより、2G バイトを超えるファイルを作成できます。ファイルシステム内に大規模なファイルが存在する場合は、大規模ファイルをすべて削除し、fsck コマンドを実行して状態を「nolargefiles」にリセットしない限り、ファイルシステムを nolargefiles オプションを使って再マウントしたり、以前の Solaris バージョンが動作するシステムにマウントしたりすることはできません。
次の手順は、ファイルシステムが /etc/vfstab ファイルに含まれていることを前提にしています。
# mkdir /mount-point
ファイルシステムをマウントするには、ローカルシステム上にマウントポイントを作成する必要があります。「マウントポイント」とは、マウントされるファイルシステムが接続されるディレクトリのことです。
# cd /mount-point # find . -xdev -size +20000000 -exec ls -l {} \;
/mount-point には、大規模ファイルがあるかどうかを検査するファイルシステムのマウントポイントを指定します。
# umount /mount-point
# fsck /mount-point
# mount -o nolargefiles /mount-point
例 17-11 大規模ファイルを持たない UFS ファイルシステムのマウント (mount コマンド)
次の例は、/datab ファイルシステムを検査し、nolargefiles オプションを指定して再マウントする方法を示しています。
# cd /datab # find . -xdev -size +20000000 -exec ls -l {} \; # umount /datab # fsck /datab # mount -o nolargefiles /datab
# mkdir /mount-point
ファイルシステムをマウントするには、ローカルシステム上にマウントポイントを作成する必要があります。「マウントポイント」とは、マウントされるファイルシステムが接続されるディレクトリのことです。
NFS ファイルシステムをマウントするには、share コマンドを使用し、サーバー上のリソースを使用可能にしておかなければなりません。リソースを共有する方法については、『Solaris のシステム管理 (ネットワークサービス)』の「NFS サービスについて」を参照してください。
# mount -F nfs [-o mount-options] server:/directory /mount-point
例 17-12 NFS ファイルシステムをマウントする (mount コマンド)
次の例は、サーバー pluto の /export/packages ディレクトリを /mnt にマウントする方法を示しています。
# mount -F nfs pluto:/export/packages /mnt
次の手順で、PCFS (DOS) ファイルシステムをハードディスクからマウントします。
# mkdir /mount-point
ファイルシステムをマウントするには、ローカルシステム上にマウントポイントを作成する必要があります。「マウントポイント」とは、マウントされるファイルシステムが接続されるディレクトリのことです。
# mount -F pcfs [-o rw | ro] /dev/dsk/device-name:logical-drive /mount-point
PCFS ファイルシステムを読み取り / 書き込み (rw) または読み取り専用 (ro) にマウントできることを指定します。このオプションを指定しない場合のデフォルトは rw です。
ディスク全体のデバイス名を指定します (/dev/dsk/c0t0d0p0 など)。
DOS の論理ドライブ名 (c から z) またはドライブ番号 (1 から 24) を指定します。ドライブ c はドライブ 1 に相当し、ディスク上の基本 DOS スライスを表します。ほかのすべてのドライブ名やドライブ番号は、拡張 DOS スライス内の DOS 論理ドライブを表します。
ファイルシステムをマウントするディレクトリを指定します。
「device-name」と「logical-drive」は、コロンで区切る必要があります。
例 17-13 x86: ハードディスクから PCFS (DOS) ファイルシステムをマウントする (mount コマンド)
次の例は、基本 DOS スライス内の論理ドライブを /pcfs/c ディレクトリにマウントする方法を示しています。
# mount -F pcfs /dev/dsk/c0t0d0p0:c /pcfs/c
次の例では、/mnt ディレクトリの拡張 DOS スライスに含まれる最初の論理ドライブを読み取り専用でマウントする方法を示します。
# mount -F pcfs -o ro /dev/dsk/c0t0d0p0:2 /mnt
# fuser -c [ -u ] /mount-point
ファイルシステムのマウントポイントとなっているファイルと、マウントされているファイルシステム内のファイルがすべて表示されます。
プロセス ID ごとにユーザーのログイン名が表示されます。
プロセスを終了させるファイルシステムの名前を指定します。
# fuser -c -k /mount-point
ファイルシステムを使用している各プロセスに SIGKILL が送信されます。
注 - ユーザーのプロセスを終了させるときには、必ず事前に警告してください。
# fuser -c /mount-point
例 17-14 あるファイルシステムを使用中のすべてのプロセスを終了させる
次の例は、/export/home ファイルシステムを使用中のプロセス 4006c を終了させる方法を示しています。
# fuser -c /export/home /export/home: 4006c # fuser -c -k /export/home /export/home: 4006c # fuser -c /export/home /export/home:
次の手順に従って、UFS ファイルシステム (ルート (/)、/usr、/var を除く) をマウント解除します。
注 - ルート (/)、/usr、および /var ファイルシステムは、シャットダウン中にのみマウント解除可能です。これらのファイルシステムは、システムの機能上必須です。
# umount /mount-point
/mount-point は、マウント解除するファイルシステムの名前を示します。次のいずれかを指定できます。
ファイルシステムがマウントされているディレクトリ名
ファイルシステムのデバイス名パス
NFS ファイルシステムのリソース
LOFS ファイルシステムのループバックディレクトリ
例 17-15 ファイルシステムをアンマウントする
次の例は、レガシー UFS ファイルシステムをマウント解除する方法を示しています。
# umount /legacy
次の例は、ローカルディスクの 7 番目のスライス上の UFS ファイルシステムをマウント解除する方法を示しています。
# umount /dev/dsk/c0t0d0s7
次の例は、UFS の /legacy ファイルシステムを強制的にマウント解除する方法を示しています。
# umount -f /legacy #
次の例は、/etc/vfstab ファイル内のすべての UFS ファイルシステム (ルート (/)、 /proc、/var、/usr を除く) をマウント解除する方法を示しています。
# umountall
次の例は、すべての ZFS ファイルシステムをマウント解除する方法を示しています。
# zfs umount -a
使用中のファイルシステムを除く、すべてのファイルシステムがマウント解除されます。