4つのディスクでzfsraidz2を作成したいと思います。これによりスペースの少なくとも50%が「無駄になる」ことはわかっていますが、ディスク障害に対する高い耐性を目指しています。 raidz2に5つのディスクを使用することはお勧めできません。また、6つのディスクは高価であり、私には不要です。私は3つのTB(またはおそらく4 TB)のディスクを持ち、それらはすべて512バイトのエミュレーションを備えた4kセクターを持っています。
私はzfsとraidz2について多くのことを読みましたが、混乱し始めています。
ディスクをパーティション分割する必要がありますか?ディスクが空でないことをOSに認識させるために、パーティションを作成することをお勧めします。パーティショニングは、4kセクターへの調整にも役立ちます。
GPTまたはMBR?私が理解している限り、GPTは3 TBディスク(およびそれ以上)には必須です。
パーティションを作成するにはどうすればよいですか?これにより、正しく配置されたパーティションが得られますか? Sudo parted --align optimal /dev/sdX mklabel gpt mkpart primary 1 0% 3TB
ボーナス質問:mkpart primary 1 0% 3TB
によって作成されたパーティションの大きさはどれくらいですか? 3*10^12 - 4096 byte
になりますか?
私の意図は、ディスクのフルサイズを使用するのではなく、故障したドライブを別のモデルに交換できるようにするために、自分自身を3 TBに制限することです。
パーティションを揃えている場合はashift=12
が必要ですか?役に立たないですか?どういうわけか私に害を及ぼしますか?
ストリップサイズはどうですか?変更する必要がありますか? 4つのディスクではなく5つのディスクを使用するとどうなりますか?
他に考慮すべきことはありますか?
ディスクが間違った値を報告する場合は、手動でシフトを設定する必要があります。これは、移行期間内のすべてのディスク(内部で4K、論理的に512)の場合です。前のディスクは正しい512を報告し、後のディスクは正しい4kを報告します。もちろん、いつでも指定できます。ディスク自体がシステムに報告/提案する内容を上書きするだけです。
よくわからない場合は、プールを作成し、使用可能なサイズを書き留めてから破棄し、すべてのディスクでashiftを12に設定して、再度作成し、サイズを比較することもできます。それらが等しい場合、ディスクはその内容について正直です。
ディスクのパーティション分割は、ディスクが正しく認識されない場合、または可能なサイズよりも小さくしたい場合にのみ必要です。
Linux上のZFSは、ディスクを自動的にパーティション分割します。以前は、これを行いませんでした。次のようになります。
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 2E55AB8A-8B22-494E-A971-B6D639BA14B1
Device Start End Sectors Size Type
/dev/sdb1 2048 1953507327 1953505280 931.5G Solaris /usr & Apple ZFS
/dev/sdb9 1953507328 1953523711 16384 8M Solaris reserved 1
また、おそらく正しいashift
値が自動的に使用されます。私のSSDには13個あり、上記のHDDには12個あります。
次の手順を実行してください。
zpool create tank raidz2 sda sdb sdc sdd
次に、zdb
でashift
が正しいように見えることを確認します。