大学での練習とNextcloudのセットアップはどのように引き継ぎましたか

実際、テキストは何についてですか?


私たちの期待は、どれほど頻繁に過酷な現実から逸脱しますか?

そのため、情報セキュリティ学科で国内最高の技術大学に入学した私は、魅力的なトレーニング、楽しい学生生活、そしてもちろん興味深い練習を期待していました。 ただし、暗号(hi、Alan)を解読してcryptex(こんばんは、Robert)を開く代わりに、いくつかのクラスター化されたサーバーでNextcloudクラウドを構成する必要がありました。 そして、それは面白いことが判明しました!

「それで、大したことは何ですか?」あなたは考えました。 実際、タスクは非常に簡単です。 ただし、このテーマに関する情報をWebで検索しても、セットアップのすべての部分をまとめたチュートリアルを見つけることができませんでした。 したがって、同じネットワーク管理のダミーの時間を節約するために、私はあなたの許可を得てこの記事を書きます。

最後に、マスターサーバーをベースにした小さなNextcloudクラウド(はい、もちろん、プロキシが必要です。いくつかのマスターサーバーが必要です。スキルも必要です。これを期待するなら、おIび申し上げます。) (この場合は2)統合されたフォールトトレラントストレージ、データベースの役割を果たすサーバー。

このような小さな会社には素敵な小さな雲。

さあ、行こう


初期条件


まず、機器を準備する必要があります(私の場合はVirtualBoxで、3台のマシンが作成されています)。

マスター-192.168.0.105
サーバー1-192.168.0.108
サーバー2-192.168.0.109

1.オペレーティングシステム-Ubuntu Server 16.04。
マシンパラメーターは特別な役割を果たしません。小さなクラウドの展開には、平均的な(非常に平均的な)コンピューターのパワーで十分です。 仮想マシンの過大評価されたパラメーターは、あなたを欺く可能性があります。4ギガバイトのOPを備えた大学のコンピューターで練習を示したとき、3番目のマシンを起動するとコンピューターがクラッシュしました。 でも、これを責める次のカスタムUnixシステムでしょうか?

2.稼働中のネットワーク。
私のようにVirtualBoxを使用する場合は、ネットワーク設定で「ネットワークブリッジ」を接続の種類として指定することをお勧めします。 したがって、メインシステムおよび他のマシンからボックス内のサーバーにpingを実行できます。

3.適切なプレイリスト(オプション)
タンバリンとのダンスのn時間後、最適な解決策を探して(たぶん私はまだ進行中です)、私は完全に耐えられなくなりました。

クラスターのセットアップ


複数のサーバーで構成されるフォールトトレラントストレージを取得するには、クラスターが必要です。 Glusterを選んだのは、ロシア語で素晴らしいマナを見つけることができたからです(!!)。

インストールから始めましょう。

サーバーのコンソールを開き、次を入力します。

sudo apt-get install python-software-properties 

次に、リポジトリに接続します。

 sudo add-apt-repository ppa:gluster/glusterfs-3.8 sudo apt-get update 

そして最後に、インストールします:

 sudo apt-get install glusterfs-server 

2番目(n番目)のサーバーで同じアクションを実行します。

アドバイス! (ダミー用)
VMでサーバーの構成に初めて出会ったとき、ゲストとメインOSの間に共通バッファーがないことに不愉快な驚きを覚えました(これは予想されていましたが)。 そのため、マシンとの通信にはPuttyを使用しました。 ダウンロードして、putti.ekzeを実行します。 使用する前に、アクセスするマシンにopenssh-serverをインストールすることを忘れないでください。

 sudo apt-get install openssh-server 

実際のマシンと通信するときに同じクライアントを使用できると思います。 それとも、食べたほうがいいのでしょうか?

そのため、Glusterがインストールされます。 次に、接続を作成します。 ただし、最初に、サーバーのIPアドレスを確認します。

 ifconfig 

ここで作成し、最初のサーバーから次を登録します(ルートとしてログインする前):
 gluster peer probe 192.168.0.109 

ピアプローブ:成功。

素晴らしい、今はクラスターに2つのサーバーがあります。 サーバーのIPアドレスのみを変更して、クラスター内のサーバーを結合する回数だけこの操作を実行します。

Glusterfsを使用して作成するストレージには、いくつかのタイプのコンテンツストレージがあります(詳細については、上記のリンクを参照してください)。 複製に興味があります-コンテンツはクラスター内のすべてのサーバーにミラーリングされます。

これまでのところ、データを保存する場所がないため、サーバー上にフォルダーを作成します。
最初に:

 mkdir /mnt/server1 

そして2番目:

 mkdir /mnt/server2 

クラスターの最後の部分は、ストレージの作成です。

 gluster volume create nextcloud replica 2 transport tcp 192.168.0.108:/mnt/server1 192.168.0.109:/mnt/server2 force 

ここで、nextcloudはストレージの名前、2はクラスター内のサーバーの数です。

最後に力という言葉を忘れないでください-あなたは長い間エラーとパズルを得ることができます、何が間違っていますか?

以下を開始します。

 gluster volume start nextcloud 

クラスターでの作業はほぼ完了しました。 残りはクラウドのインストール後です。

Nextcloudをインストールする


このためには、マスターサーバーが必要です。 私たちは権利の根底にあり、楽しんでいます。
この記事をインストールに使用できます。 ステップ5に進みます。停止します。

クラウドでアーカイブをダウンロードします。

 cd ~ wget --no-check-certificate https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2 sudo tar -C /var/www -xvjf ~/nextcloud-11.0.0.tar.bz2 rm ~/nextcloud-11.0.0.tar.bz2 

いくつかのフォルダーを作成します。

 sudo mkdir /var/www/nextcloud/data sudo mkdir /var/www/nextcloud/assets 


最も重要な瞬間。 クラスターについて思い出し、それをマスターサーバーに接続します。
 mount.glusterfs 192.168.0.108:/nextcloud /var/www/nextcloud/data/ 

これで、クラウドに含まれるすべてのファイルがすべてのサーバーにコピーされます。
記事のヒントに従って、インストールを完了します。

結果は何ですか?


さて、私たちは何をしましたか? そして、データを保存するサーバーの落下に対してフォールトトレラントな小さなクラウドが判明しました-そのうちの1つを特別にドロップしてみてください-ウィザードは少し考えて、すべてが再び機能します。 クラッシュしたサーバーが回復すると、そのサーバー上のデータは自動的に更新されます。

もちろん、ボトルネックはマスターサーバーです。 たとえば、Galeraとそれらの間でトラフィックを配信するプロキシサーバーの制御下で同じデータベースを操作する複数のマスターが存在すると、システムのフォールトトレランスが大幅に向上します(ただし、それを呼び出すことができるとは考えられません)。 多分次の記事で?

ここまで読んでいただければ、あなたはヒーローです。ご清聴ありがとうございました。
楽しいコミュニティのために-書くのはいいことです。

Source: https://habr.com/ru/post/J340322/


All Articles