私は安価な VPS を探すのが好きで、頻繁にサーバーを変更する必要があるため、Web サイトの移転は一般的になってきました。大規模な Web サイト データの場合は、コンピューター ルーム間でデータを直接転送するのが最適です。一般的に使用される 3 つのコマンド ツールである Rsync、SCP、および Tar は、VPS リモート Web サイトの再配置とデータ同期を迅速に解決するのに役立ちます。
しかし、Xiao Z ブログのリマインダーのおかげで、コマンド ツールを使用してデータ移行を実現するだけでなく、ハードディスク マウントを使用してデータ移行の問題を解決することもできます。 Network File System 分散ファイル システム プロトコルである NFS を使用すると、さまざまな VPS ホストのディレクトリをリモートでマウントできるため、ファイルのコピーがさらに便利になります。
GlusterFS は、スケールアウト ストレージ ソリューションである Gluster の中核であり、強力な水平拡張性を備えたオープンソースの分散ファイル システムであり、マルチ PB のストレージ容量をサポートし、拡張を通じて数千のクライアントを処理できます。 GlusterFS は通常、エンタープライズ レベルのファイル ストレージ ソリューションとして使用されますが、GlusterFS を使用して、異なる VPS ホスト間でストレージを共有することもできます。
最後はサンバです。 SAMBA の初期開発の主な目的は、Windows と Unix という 2 つの異なるオペレーティング プラットフォーム間の共有を通信することでした。Samba は構成が簡単で、直感的に操作できます。 NFS リモート マウント、GlusterFS 共有ストレージ、Samba 共有サーバーは、ファイル コラボレーション、サーバー ミラーリングなどにも使用できます。つまり、拡張性が非常に優れています。
この記事では、NFS リモート マウント、GlusterFS 共有ストレージ、Samba 共有サーバーの操作方法について簡単に説明します。クラウド ストレージとウェブマスター ツールの詳細については、以下の記事も参照してください。
- Nextcloud は個人用クラウド ストレージとして最適です。ワンクリックの自動インストール方法とクラウド ディスクの使用エクスペリエンス
- Lsyncd は同期ミラーを構築します。Lsyncd を使用して、ローカル サーバーとリモート サーバー間のリアルタイム同期を実現します。
- Linux VPS は Google Drive と Dropbox をマウントし、VPS ホストデータの同期とバックアップを実現します
1. NFSリモートマウント
デモ環境、サーバー A: 172.104.184.98、クライアント B: 107.161.18.176 VPS をお持ちでない場合は、私が使用した VPS ホスト リストをご覧ください: VPS ホスト ランキング リスト。
関連するコマンド操作は次のとおりです。
#在两台VPS上安装执行安装
sudo apt-get install -y nfs-kernel-server
#在A上创建文件夹
mkdir -p /media/wzfou/asus
#在A上编辑并添加授权B读写
vim /etc/exports
/media/wzfou/asus 107.161.18.176(rw,no_root_squash,async)
#在A上重启
sudo systemctl restart nfs-server.service
#在B上创建文件夹
sudo mkdir -p /home/wzfou/share
#在B上将刚刚创建的文件夹挂载到A上共享文件夹
sudo mount -t nfs 172.104.184.98:/media/wzfou/asus /home/wzfou/share
プロンプトが表示されない場合は、マウントが成功したことを意味します。
これで、A と B の共有ファイルがマウントされ、リアルタイムで同期されました。共有フォルダーにファイルをアップロードまたは削除することで、双方向の同期を確認できます。
2. GlusterFS 共有ストレージ
2.1 GlusterFS リポジトリ
デビアン:
sudo apt-get install -y lsb-release sudo apt-get install -y apt-transport-https
GlusterFS リポジトリの公開キーを追加します。
wget -O - http://download.gluster.org/pub/gluster/glusterfs/LATEST/rsa.pub | sudo apt-key add - echo deb https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/$(lsb_release -sc)/apt $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/gluster.list
Ubuntu 16.04/14.04:
sudo apt-get install -y software-properties-common sudo add-apt-repository ppa:gluster/glusterfs-3.8
2.2 GlusterFS をインストールする
リポジトリキャッシュを更新します。
sudo apt-get update
GlusterFS パッケージをインストールします。
sudo apt-get install -y glusterfs-server
glusterfs-server サービスを開始します。
sudo service glusterfs-server start
glusterfs サービスが実行されているかどうかを確認します。
sudo service glusterfs-server status
次のコマンドはサーバー で実行され、クライアント ノード (107.161.18.176) を追加します。
raj@gluster1:~$ sudo gluster peer probe 107.161.18.176 peer probe: success.
ステータスを確認します。
sudo gluster peer status
ノードをリストします。
sudo gluster pool list
ファイアウォールを設定します。ファイアウォールを無効にするか、クライアントの IP を許可範囲に追加します。
sudo iptables -I INPUT -p all -s <ip-address> -j ACCEPT
インストールが成功すると次のようになります。
2.3 共有ストレージボリュームを作成する
次に、共有ストレージ ボリュームを作成する必要があります。まず、サーバー上で次の操作を実行します。
#创建文件夹
sudo mkdir -p /data/gluster/gvol0
#创建共享卷volume,并分别挂载服务端(139.162.175.85)和客户端(107.161.18.176)
sudo gluster volume create gvol0 replica 2 139.162.175.85:/data/gluster/gvol0 107.161.18.176:/data/gluster/gvol0 force
#启用卷
sudo gluster volume start gvol0
#查看卷
sudo gluster volume info gvol0
次に、クライアント (107.161.18.176) に移動し、サーバー (139.162.175.85) をマウントします。コマンドは次のとおりです。
#安装客户端
apt-get install -y glusterfs-client
#创建文件夹
mkdir -p /mnt/glusterfs
#挂载服务端(139.162.175.85)
mount -t glusterfs 139.162.175.85:/gvol0 /mnt/glusterfs
#开机自动挂载
vim /etc/fstab
139.162.175.85:/gvol0 /mnt/glusterfs glusterfs defaults,_netdev 0 0
コマンド df -hP /mnt/glusterfs
を実行すると、マウントが成功したことがわかります。
df コマンドを使用してこれを確認することもできます。
異なる VPS ホスト間でストレージの共有を実現し、ファイルの追加または変更時の同期を確認できるようになりました。
3. SambaでLinuxとWindowsの共有を実現
上記の 2 つの共有方法は Linux に適していますが、Windows と Linux はどのように共有するのでしょうか?現在、より一般的な方法は、クロスプラットフォーム ネットワーク ファイル共有プロトコルである SMB/CIFS を使用する方法です。 Windows は SMB/CIFS をネイティブにサポートしており、Linux もオープン ソース ソフトウェア Samba を通じて SMB/CIFS プロトコルを実装しています。
3.1 samba をインストールする
sudo apt-get install samba
3.2 共有ディレクトリの作成
// 创建的目录即之后能够在Windows主机上直接访问的目录。
// 例如:在用户wzfou的主目录下新建share文件夹为共享目录
mkdir /home/wzfou/smbshare
// 由于Windows下的文件夹需可读可写可执行,需更改权限为777
sudo chmod 777 /home/wzfou/smbshare
3.3 samba 設定ファイルを変更する
// 修改 /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
// 在smb.conf文件最后加上以下内容
[共有]
パス = /home/wzfou/smbshare
パブリック = はい
書き込み可能 = はい
有効なユーザー = wzfou
マスク作成 = 0644
強制作成モード = 0644
ディレクトリ マスク = 0755
強制ディレクトリ モード = 0755
使用可能 = はい
smb.confの説明は以下のとおりです。
(1) [share] は共有フォルダーのエイリアスを示し、このエイリアスは後で直接使用されます。
(2) force create mode
と force directory mode
の設定は、Windows と Linux ではファイルとフォルダーのデフォルトの権限が異なるため、Windows では新しく作成されたファイルが実行可能になります。ファイルのアクセス許可を強制的に設定する必要があります。
(3) 有効なユーザーは現在の Linux ユーザー名に設定されます。たとえば、私の場合は wzfou です。これは、初めて共有フォルダーを開いたときにアクセス許可を確認する必要があるためです。
3.4 ログインパスワードを設定する
// 新建/etc/samba/smbpasswd文件
sudo touch /etc/samba/smbpasswd
// 根据3.3设置的valid users,设置用户密码
// wzfou 替换为你在3.3中设置的用户名
sudo smbpasswd -a wzfou
//输入两次密码后,会提示 Added user wzfou. 表示设置成功
// 若用户名非当前登录系统的用户名,可能会提示Failed
3.5 sambaサーバーの起動
sudo /etc/init.d/samba restart
3.6 共有が成功したかどうかをテストする
sudo apt-get install smbclient
smbclient -L //xx.xx.xx.xx/share
//还记得吗?share为3.3中设置的共享文件夹的别名
//如果共享成功,将要求输入之前设置的密码
3.7 Windows および Linux での samba の使用
Windows エクスプローラー -> ネットワーク ドライブの割り当て。入力形式は次のとおりです: IP アドレス構成の名前、次にアカウントのパスワードを入力すると、接続が成功します。
Windows 7 を使用していて Samba に接続できない場合は、次の方法で問題を解決できます。
1. ローカル セキュリティ ポリシーを変更します。secpol.msc を実行して [ローカル セキュリティ ポリシー] フォームを開き、[ローカル ポリシー] - [セキュリティ オプション] をクリックし、[ネットワーク セキュリティ: LAN Manager 認証レベル] の値を「送信」に変更します。 LM と NTLM - ネゴシエートされた場合は NTLMv2 セッション セキュリティを使用します」というメッセージが表示されたら、そのまま OK です。
2. レジストリを変更します。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa の下の LmCompatibilityLevel の値を 1 に変更します。
Linux の場合は、Thunar のアドレス smb://<samba-server-IP-address>/share
を通じてアクセスします。
4. まとめ
Linux 共有フォルダー方式の中で、NFS リモート マウント方式が最も便利で、特に、リモート マウントが成功すると、データをローカルにコピーするのと同じくらい便利になります。 Rsync、SCP、Tar の 3 つのコマンド ツールは、VPS リモート Web サイトの再配置とデータ同期を迅速に解決し、より便利です。
共有ボリュームを作成する GlusterFS 方法は、クラスター サーバーに特に適しています。GlusterFS クラスター ファイル システムは、エンタープライズ レベルの Docker 分散ストレージにも適用できます。 Samba は Linux と Windows 間のファイル共有を実現します。以前、Raspberry Pi のインストール NextCloud チュートリアル - 自作のプライベート クラウド LAN 共有を共有しました。実際には、Samba を使用して Raspberry Pi を他のデバイスと共有することもできます。