ZFSおよびKVM。 @home



この象徴性はすでによく知られています。なぜなら、 それが どんな 動物 を詳細に説明する意味はないからです







LVMとの比較はありません。なぜなら、マッスルカーとジェットトラックを比較することは可能ですが、無意味だからです。

グラフィックとコミックも配信されませんでした。

たとえば、これは不完全なサクセスストーリーです。これは、呼び出し元のアップグレードを停止することしかできず、完了できないためです。








背景



ほとんどすべてのITファミリーには複数のPCやラップトップがあり、HTPCルーター、または何らかのNASが存在する可能性が高いです。 そのため、2台のPCがあり、大きな壁モニターが追加されました。この状況では、HTPCの誕生は時間の問題です。 彼が生まれたとき、彼はすぐに誇り高い名前-サーバーと呼ばれました。 後に、私のお気に入りのゲームのいくつかがLinux上でそれを行うことができることが判明しました-そして、サーバーはすぐにSteamアカウントを取得しました。



サーバーが16GBのメモリを受け取った数年が経ち、gitlabとプロジェクトを備えた仮想コンピューターが登場しました...







そして、アップグレードが非常に重要であり、3台のPCを一度にアップグレードするのは費用がかかりすぎることを理解するようになりました。 同時に、PCIEパススルーと仮想ゲームで既に成功した経験がありました。







適切なソリューションは、ゲーミングマシンを仮想マシンに段階的に移行することでした。 1人だけが移行しましたが、将来的にはゲストとは彼女を意味します。

3つのプロセッサ(i3-3220、i5-3470、i5- 3470K)のうち、VT-dは2番目のプロセッサのみをサポートし、i3ではなくサーバーに送られました。 ロープロファイルの1050Tiを購入して7970を交換し、古いハードウェアを部品で販売しました。







サーバーは、最新のUEFIファームウェア、Ubuntu 16.04、および使用可能な最大のSSD-Crucial M4、256 GBをルートプールの下に受け取りました。 このマニュアルに従ってインストールが実行され、そこからインストールスクリプトがライブシステムに蓄積されました。 次に、ダウンロードに成功すると、 virt-manager



libvirt-bin



ovmf



およびxubuntu-desktop



がインストールされました。 もちろん、VT-xとVT-dが含まれていました。



ちなみに、システムのバイナリ部分をログ、キャッシュ、その他のハムスターから分離することは、実験システムの生体解剖のプロセスで複数回役立ち、initrdからでもアクセスできる単純なzfs rollback



作業状態を戻すことができます(ただし、 /root



別のデータセットを使用する場合-パラメーターを使用しますkernel init=/bin/sh



(緊急ブート用); shは、bashとは異なり、 /root



マウントポイントでガベージを作成しません)。

ダウンロードで問題が発生した場合、何が起こったのか推測できないため、 /etc/default/grub



HIDDEN_TIMEOUT



に関連するすべてをHIDDEN_TIMEOUT



し、0以外のタイムアウトを明示的に設定します(10を持っています)、コメントをGRUB_TERMINAL=console



を追加し、 quiet splash



を削除してくださいGRUB_CMDLINE



から。







エラー43およびすべてすべて





ZFSを使用する





インストールウィザードに戻り、ディスク構成を更新し、作成されたもの(マジックが実行されたもの)から最大のパーティションを選択し、通常どおりインストールを続行します。







あれは何だった?
  ,       64,  Windows ,       ,        -  .  ?  ,       Windows-:    ,  ,   ,   .
      
      





Steamの重複排除、またはすべてが始まった場所



最も簡単な方法は、smbまたはnfsボールを取得して、それらにSteamライブラリを作成することでした。 通常のファイルは、エクスポートされたライブラリとLinuxクライアントライブラリの両方を含めて、不必要なジェスチャなしで簡単かつ自然に重複排除されます。 いつものように、最も明白なソリューションは機能していることが判明しましたが、間違っています。 このモードのSMBは、ファイルがSSD上にあるにもかかわらず、ラップトップのハードドライブの速度で移動します。 NFS(およびWindows 8.1は4ではなくNFS v3をサポート)は少し速く移動し、何らかの「グリーン」デスクトップディスクのように感じましたが、快適なゲームにはまだ少なすぎました。 さらに、M $のすべてのオペレーティングシステムは、ログオン時に自動的に接続されるネットワークドライブを失うことを好み、各時点でライブラリの場所へのSteamはすぐに疲れます。



適切なソリューションはiSCSIでした。 targetcli



targetcli



にインストールされ、 このマニュアルに従って構成され、blockioの使用に合わせて/dev/zvols/<zfs path>



の形式で調整されました。 set attributes emulate_3pc=1,emulate_tpu=1,emulate_caw=1,emulate_tpws=1,emulate_tas=1



正しく機能させるには、Windows 8以降(iSCSIイニシエーターのset attributes emulate_3pc=1,emulate_tpu=1,emulate_caw=1,emulate_tpws=1,emulate_tas=1



サポートが実装されている8以降)を使用する必要があり、ブロックデバイスごとにset attributes emulate_3pc=1,emulate_tpu=1,emulate_caw=1,emulate_tpws=1,emulate_tas=1



ます。 すべてが正しく行われていれば、ファイルとフォーマットを削除してスペースを解放し、zvolのサイズを小さくする必要があります。



これで、ライブラリ用にエクスポートされたボリューム内の同じファイルは1回だけスペースを占有しますが、Linux用のSteamライブラリは依然として別の場所を占有します。 オプション-o dedup=on -o recordsize=64K



使用して、このライブラリの個別のデータセットを作成しましょう。 zvolのパーティションが1 MBの境界に沿って配置され、クラスターサイズが64 KBに設定されている場合、重複排除が同じブロックを見つけることができるように、同じ粒度でホスト上のファイルを共有する必要があるのは論理的です。







結果





結論の代わりに



さて、私の小さな実験は間違いなく成功しましたが、途中で困難が生じました。 さらに、Zen2、32-64GBのメモリ、NVME SSDにアップグレードし、2台目のPCをサーバーに転送したいのですが...これはまったく別のソーサリーになります。








All Articles