これは Dhineshkumar Manikannan によって書かれたゲスト投稿です。
ネットワーク ブロック デバイスは、ローカル マシンに物理的に存在しないリモート ストレージ デバイスにアクセスするために使用されます。ネットワーク ブロック デバイスを使用すると、ローカル マシンで次の 3 つの方法でリモート ストレージ デバイスにアクセスして使用できます。
NBD は、リモート リソースをローカル リソースとしてクライアントに提示します。また、NBD ドライバは、リモート リソースを Linux のローカル デバイスのように見せ、安価で安全なリアルタイム ミラーを構築できるようにします。
NBD を使用して、リモート マシンのストレージ領域をローカル マシンのスワップ領域として使用することもできます。 br />
NBD ベースのファイル システムをセットアップするには、nbd-server (コンテンツにアクセス/作成するリモート マシン上) と nbd-client (リモート ストレージにアクセスするローカル マシン上) が必要です。デバイスをローカルに)
I. NBD サーバー側の設定手順
1. nbd-server をインストール
Debian フレーバーで作業している場合は、apt-get で nbd-server を取得してください。
# apt-get install nbd-server
2.ファイル コンテンツを作成する
以下に示すように、dd を使用してファイルを作成します。
# dd if=/dev/zero of=/mnt/dhini bs=1024 count=36000
mke2fs を使用して、/mnt/dhini をファイルシステムとして作成します。
# mke2fs /mnt/dhini
/mnt/dhini を ext2 ファイル システムにしようとすると、以下のような警告メッセージが表示される場合があります。続行するには y を押してください。
/mnt/dhini is not a block special device. Proceed anyway? (y,n) y
3. NBD サーバー デーモンを起動
Syntax: nbd-server port-number filename/filesystem # nbd-server 1043 /mnt/dhini
以下に示すように、複数のポートで nbd-server を実行することもできます。
# nbd-server 1043 1077 1076 /mnt/dhini
タイムアウトを指定して、サーバーが N アイドル秒実行するようにすることもできます
II. NBD クライアント側の設定手順
リモート ストレージ デバイスにアクセスするクライアント マシンで次の手順を実行します。
1. nbd-client をインストール
Debian フレーバーに取り組んでいる場合は、apt-get を通じて nbd-client を入手してください。
# apt-get install nbd-client
2. nbd-client を使用して、クライアント マシンにファイル システムを作成します
Syntax: nbd-client server-ip server-port# filename/filesystem # nbd-client 192.168.1.11 1043 /mnt/dhini Starting NBD client process: Connecting...Negotiation: ..size = 36000KB bs=1024, sz=36000 connected /mnt/dhini Activating... fsck 1.39-WIP (31-Dec-2005) /mnt/dhini: Superblock last write time is in the future. FIXED. /mnt/dhini has gone 49710 days without being checked, check forced. /mnt/dhini: |===============================| 56.0% /mnt/dhini: |===============================| 100.0%
100% になると、同じパス上のローカル マシンにブロック デバイスが取得されます。
$ls -lh /mnt/dhini brw-r--r-- 1 root root 43, 0 2009-02-05 17:31 /mnt/dhini
NBD 構成プロセス中に問題が発生した場合は、dpkg-reconfigure を使用して nbd-server と nbd-client を構成することもできます。
III.クライアント側でファイル システムをマウントする
# mkdir /rem_space # mount /mnt/dhini /rem_space
マウントすると、「lost+found」でディレクトリを取得できます。この時点から、ファイルとディレクトリへの適切なアクセスを開始できます。
IV.サーバー側でクライアントの変更を取得
nbd ファイルシステムをローカルにマウントします
# mount -o loop /mnt/dhini /client_changes
「-o loop」オプションを使用していない場合、次のエラーが発生する可能性があります:
mount: /mnt/dhini is not a block device (maybe try `-o loop'?)
/client_changes を一覧表示すると、クライアントが作成したすべてのファイルとディレクトリが適切に取得されます。
V.ローカル スワップ メモリ領域としてリモート ストレージにアクセス
サーバー側の構成:
1.ファイルを作成
# dd if=/dev/zero of=/mnt/dhini bs=1024 count=16000
2. ext2 ファイルシステムにファイルを作成する代わりに、mkswap を使用してスワップ ファイルとして作成します
# mkswap /mnt/dhini
3.サーバー デーモンを実行する
# nbd-server 1043 /mnt/dhini
クライアント側の構成:
1.ファイルシステムをスワップ領域として取得
# nbd-client 192.168.1.11 1043 -swap /mnt/dhini
2. 「cat /proc/swaps」でクロスチェック。これにより、スワップ領域が一覧表示されます
$ cat /proc/swaps Filename Type Size Used Priority /dev/hda4 partition 650624 57732 -1 /mnt/dhini partition 15992 0 -4
この記事は Dhineshkumar Manikannan によって書かれました。 彼は bk Systems (p) Ltd で働いており、オープン ソースへの貢献に関心があります。 The Geek Stuff はあなたのヒントやゲスト記事を歓迎します