web-dev-qa-db-ja.com

OpenIndiana-ZFSストレージ

Linux/opensolarisコマンドラインオプションにはある程度慣れていますが、あまり良くありません。

ZFSに基づいてストレージを構築しようとしています。仕様は次のとおりです。

  • 4台のハードドライブを搭載したDell670マシン(SATAおよびIDE)
  • Open Indiana USBをダウンロードして作成し、ライブで起動してインストールできます
  • Napp-it( http://www.napp-it.org/index_en.html )も見て、Oracle Solaris Express(パーソナルホームPC)にインストールしました。

私は少し混乱していて、いくつか質問があります:

  1. ブート/インストールディスクは個別であり、追加の4つの内蔵ドライブが接続されています。インストールを行うとき、4つのドライブすべてを含むプールを形成するにはどうすればよいですか?
  2. 私がナップイットの方法(私には簡単に思えた)に行き、Web GUIを介して4つのドライブすべてのプールを形成する場合、ネットワークを介してWindowsマシンと共有するにはどうすればよいですか? 。
  3. ZFSとその処理/保守方法について読むことができるドキュメントはありますか?
  4. 他に役立つと思われる推奨事項はありますか?

私は本当にzfs NASをopenindianaにインストールしたいと思っています。専門家がコマンドラインまたはnappのいずれかを段階的に提供できれば感謝します-それはウェブGUIです-Windows、OSXとの共有の設定を含みますクライアント。

3
rihatum

約1:OpenIndianaを単一のディスクにインストールします(ミラーリングはベースインストーラーではサポートされていません。必要に応じて、後で行う必要があります)

2.OpenIndianaの実行中にプールを作成します

3. napp-itを使用する場合、ディスク、プール、共有acl、ジョブ、スナップ、およびレプリケーションの管理。

4. afpとnapp-it(Web-UIで完全にサポートされている)を介してフォルダーを共有する場合は、最初にnapp-itonline-afp-installerを実行する必要があります。 このPDFを参照

2
Gea

プールを作成するためのCLIコマンドを教えてください。 GUIやWebUIはわかりませんが。

#replace drive0... with your drives    

zpool create tank drive0 drive1
#This will create a striped set, no redundancy, single failure = dead pool

zpool create tank mirror drive0 drive1 mirror drive2 drive3
#This will create a stripe set of mirrors, basically RIAD10

zpool create tank raidz drive0 drive1 drive2 drive3
#Thid create a stripe set with single parity, like RAID5

zpool create tank raidz2 drive0 drive1 drive2 drive3
#Thid create a stripe set with double parity, like RAID6

zpool statusを実行して、実行したコマンドが成功したことを確認します。

/tankのようなコマンドを使用して、プールのマウントポイントを変更できます(デフォルトではzfs set mountpoint=/another_location tank、これは上記で選択した名前です)。

それはあなたの状況に直接当てはまらないでしょうが、助けになるかもしれません、私は短い FreeBSDのためのZFSの紹介私のブログ を持っています。

3
Chris S

質問1:ZFSブートプールは、単一のディスクまたは単純なミラーのみにすることができます。ブートローダー(x86ではGRUB、SPARCではOpenBoot)の制限により、現時点では複数のミラーまたはRAID-Zプールを使用して起動することはできません。 IIRC、OIでGRUB 2.0のサポートを取得するためのGoogleSummer of Codeの提案があります。これにより、より複雑なプールからの起動が可能になる場合があります。今のところ、ルート/起動用に追加のディスクが必要です。 1つのプールで4つの現在のディスクを使用する場合はプール。

質問2:WindowsクライアントでCIFS共有を有効にするには、zfs(1)のマニュアルページにある「sharesmb」プロパティを参照してください。 MacOS XもCIFS共有に接続できるはずですが、NFSもおそらくそこで使用できます。

質問3について:ZFSベストプラクティスガイドには、役立つ情報がたくさんあります: http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

質問4について:上記のewwhiteに同意します。NASを構築するだけの場合は、NexentaStorについて考えてください。

2
eirescot

しばらく前にOpenIndianaチュートリアルを書きました。

それが持っているもう一つのことは、それを少しロックする方法の簡単な説明です。私はサーバー上に何人かの友人や家族がいるので、私のシステムに関して、見知らぬ人よりも彼らをほとんど信頼していません。

結局のところ、彼らはまだ「ユーザー」です。 「ユーザー」を信頼することはできません。

ZFSファイルサーバーのチュートリアル

-編集-

提案により、投稿のテキストは切り取られて貼り付けられました。

しかし、それは私のブログでよりよくフォーマットされています。だから、ここを読んでそこを読んでください。どこでも。

これを書いた後、ユーザーからアクセス許可を削除したり、アクセス可能なディレクトリでSFTPに必要なツールのみをシンボリックリンクしたりするなど、いくつかの異なることを行いました。マシンの安全性が向上したと思います。

16〜20ベイサーバーにアップグレードするときにこれを書き直します。


Open Indiana with ZFSを使用して、ある程度ロックダウンされたファイルサーバーを作成します

SSHを使用してOpenIndianav148をインストールします

この例では、少なくとも4つのディスクを備えたシステムが必要です。

The system disk
    This disk is to put the operating system on.
    I recommend at least 30GB
    The faster the better
The first data disk
    This the first disk of a pair.
    Reliablilty is paramount
    Buy as big as you can afford
The second data disk
    This the second disk of a pair.
    Reliablilty, again, is paramount
    And buy as big as you can afford
AT LEAST ONE BACKUP DISK
    RAID, ZFS, OTHER... their purpose is to help with uptime
    ZFS also assists in somewhat painlessly growing your storage capacity
    Backup is backup, redundant disk strategies are for use and failure
    Buy as big as you can afford

プロンプトに従い、SSHをオンにして、システムディスク全体を使用します。

CLIを介してシステムを更新する

pkg image-update --require-new-be

GUIツールは、インストール時にリリース148で機能しません。

ディスク名を探す

フォーマット

[CTRL + C]を使用してformatコマンドを終了します

ミラーリングされたzpoolを作成する

zpool create newpool mirror c2t2d0 c2t3d0

あなたの手仕事をチェックしてください

zpool status df -h

基本ディレクトリ構造を作成する

newpool | -business | -hobby | -books | -users | -admin01 | | -asmith |-共有| | -lsmith |-共有|-その他

mkdir/newpool/business/mkdir/newpool/hobby/mkdir/newpool/books/mkdir/newpool/users/mkdir/newpool/users/admin01/mkdir/newpool/users/asmith/mkdir/newpool/users/asmith/shared/mkdir/newpool/users/lsmith/mkdir/newpool/users/lsmith/shared/mkdir/newpool/misc /

必要に応じてグループを作成します

groupadd admin01 groupadd internal groupadd external groupadd common

存在しない初期ユーザーを追加します

2つのコマンドで2人のユーザーを作成していることに注意してください。ユーザーは長いため、テキストが折り返されています。

useradd -d/newpool/users/asmith/-c "Adam Smith" -G internal、common -s/usr/lib/rsh asmith useradd -d/newpool/users/lsmith/-c "Luanne Smith" -G external、共通-s/usr/lib/rsh lsmith

オプションは次のとおりです。

-d is the home directory /newpool/users/username/ in this example.
-c is the real name, it can really be anything. But it you want it to contain a space then enclose the value in double quotes.
-G list all the groups of the directories you want the people to have access to separated by commas.
    At the very least I give membership to the common group -G common .
    But maybe I want to give access to the external directory as well -G external,common .
-s /usr/lib/rsh is the 'restricted Shell' to prevent a lot of funny business.

存在しない初期ユーザーのパスワードを設定します

passwd lsmith passwd asmith

passwdユーザー名

(パスワードを2回入力してください-多田!)

(passwd:ユーザー名のパスワードが正常に変更されました)

既存のユーザーを変更する

usermod -G admin01、internal、common admin01

(UX:usermod:admin01は現在ログインしています。一部の変更は、次回のログインまで有効にならない場合があります。)

プレーンテキストの/ etc/passwdファイルでユーザー情報を確認できます

プレーンテキストの/ etc/groupファイルでグループの作成を確認できます

適切なowner:groupプロパティを適用する

chown admin01:admin01/newpool/business/chown admin01:peers/newpool/hobby/chown admin01:peers/newpool/books/chown admin01:admin01/newpool/users/chown admin01:admin01/newpool/users/admin01/chown asmith: admin01/newpool/users/asmith/chown asmith:admin01/newpool/users/asmith/shared/chown lsmith:admin01/newpool/users/lsmith/chown lsmith:admin01/newpool/users/lsmith/shared/chown admin01:common/newpool/misc /

適切な権限を適用する

(4読み取り2書き込み1実行)

(!ディレクトリ上のnon-owner:groupがファイルシステムをトラバースするために必要な実行)

chmod 700/newpool/business/chmod 750/newpool/hobby/chmod 750/newpool/books/chmod 711/newpool/users/chmod 770/newpool/users/admin01/chmod 770/newpool/users/asmith/chmod 770/newpool/users/asmith/shared/chmod 770/newpool/users/lsmith/chmod 770/newpool/users/lsmith/shared/chmod 750/newpool/misc /

770は、書き込み可能性、読みやすさ、所有者とグループメンバーへのトラバースを提供し、他のユーザーには何も提供しません-通常のユーザーディレクトリの場合

750は、所有者に書き込み、所有者とグループメンバーに読み取りとトラバースを提供し、他のメンバーには何も提供しません-通常のユーザーへの読み取り専用アクセス

711は所有者にすべてのアクセス権を与え、すべての人にディレクトリをトラバースできるようにします-通常のユーザーがアクセスできるディレクトリツリーの奥深くに降りることができます

700は所有者以外にはアクセスを許可せず、ディレクトリを開くことさえできません-通常のユーザーへのアクセスを完全に取り消します

NFS&Samba

現在、このサーバー用にNFSまたはSamba共有を設定していません。

変更があった場合は、手順を更新します。

クォータを設定する

私のファイルサーバーでは、多くのユーザーとさらに少ないユーザーグループを持つ予定はありません。これまでのところ、割り当ての計画はありません。

クォータを設定した場合、ユーザーごとに設定する可能性があります。

zfs set userquota @ username = 100G newpool/users/username

ただし、バージョン15のZFSユーザーグループクォータも使用できます。

zfs set groupquota @ common = 250GB newpool/misc

より多くのユーザー?

新しいディレクトリを追加する

ユーザー/ newpool/users/username /および/ newpool/users/username/shared /のmkdir

新しいユーザーを追加する

useradd -d/newpool/users/username/-c "Fname Lname" -G [カンマ区切りリスト、] common -s/usr/lib/rsh username

Owner:groupプロパティを新しいユーザーディレクトリに変更します

同上

新しいディレクトリに適切な権限を適用する

同上

新しいユーザーパスワードを設定する

同上

2
BradChesney79