Da ich gerne nach günstigen VPS suche und häufig den Server wechseln muss, ist der Umzug einer Website mittlerweile an der Tagesordnung. Bei großen Website-Daten ist es am besten, Daten direkt zwischen Computerräumen zu übertragen. Die drei häufig verwendeten Befehlstools Rsync, SCP und Tar können uns dabei helfen, die VPS-Remote-Website-Verlagerung und Datensynchronisierung schnell zu lösen.

Dank der Erinnerung im Xiao Z-Blog können wir jedoch zusätzlich zur Verwendung von Befehlstools zur Implementierung der Datenübertragung auch die Festplattenmontage verwenden, um das Problem der Datenmigration zu lösen. Mithilfe von NFS, dem Network File System-Protokoll für verteilte Dateisysteme, können wir die Verzeichnisse verschiedener VPS-Hosts aus der Ferne bereitstellen, was das Kopieren von Dateien erheblich erleichtert.

GlusterFS ist der Kern von Gluster, der Scale-Out-Speicherlösung. Es handelt sich um ein verteiltes Open-Source-Dateisystem mit starker horizontaler Skalierbarkeit, das Speicherkapazitäten von mehreren PB unterstützen und durch Erweiterung Tausende von Clients verarbeiten kann. GlusterFS wird im Allgemeinen als Dateispeicherlösung auf Unternehmensebene verwendet, wir können GlusterFS jedoch auch verwenden, um Speicher zwischen verschiedenen VPS-Hosts zu teilen.

Der letzte ist Samba. Der Hauptzweck der ursprünglichen Entwicklung von SAMBA bestand darin, die gemeinsame Nutzung zwischen zwei verschiedenen Betriebsplattformen, Windows und Unix, zu kommunizieren. Samba ist einfach zu konfigurieren und intuitiv zu bedienen. NFS-Remote-Mounting, GlusterFS-Shared-Storage und Samba-Shared-Server können auch für die Dateizusammenarbeit, Serverspiegelung usw. verwendet werden. Kurz gesagt, die Skalierbarkeit ist sehr stark.

Drei Möglichkeiten, Ordnerverzeichnisse unter Linux freizugeben: NFS-Remote-Mounting, GlusterFS-Freigabespeicher und Samba-Freigabeserver

In diesem Artikel werden kurz die Betriebsmethoden der NFS-Remote-Montage, des gemeinsam genutzten GlusterFS-Speichers und des gemeinsam genutzten Samba-Servers erläutert. Weitere Informationen zu Cloud-Speicher und Webmaster-Tools finden Sie auch:

  1. Nextcloud ist eine ausgezeichnete Wahl für den persönlichen Cloud-Speicher: automatische Installation mit einem Klick und Erfahrung bei der Nutzung von Cloud-Festplatten
  2. Lsyncd erstellt einen Synchronisationsspiegel. Verwenden Sie Lsyncd, um eine Echtzeitsynchronisation zwischen lokalen und Remote-Servern zu erreichen
  3. Linux VPS stellt Google Drive bereit und Dropbox realisiert die Synchronisierung und Sicherung von VPS-Hostdaten

1. NFS-Remote-Montage

Demoumgebung, Server A: 172.104.184.98, Client B: 107.161.18.176 Wenn Sie keinen VPS haben, können Sie sich die von mir verwendete VPS-Hostliste ansehen: VPS-Host-Rangliste.

Die relevanten Befehlsoperationen lauten wie folgt:


#在两台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

Wenn keine Eingabeaufforderung erfolgt, bedeutet dies, dass die Bereitstellung erfolgreich war.

Jetzt wurden die freigegebenen Dateien auf A und B in Echtzeit bereitgestellt und synchronisiert. Sie können die bidirektionale Synchronisierung sehen, indem Sie Dateien in den freigegebenen Ordner hochladen oder löschen.

2. Gemeinsamer GlusterFS-Speicher

2.1 GlusterFS-Repository

Debian:

sudo apt-get install -y lsb-release
sudo apt-get install -y apt-transport-https

Fügen Sie den öffentlichen Schlüssel für das GlusterFS-Repository hinzu.

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 installieren

Repository-Cache aktualisieren.

sudo apt-get update

Installieren Sie das GlusterFS-Paket.

sudo apt-get install -y glusterfs-server

Starten Sie den Glusterfs-Server-Dienst.

sudo service glusterfs-server start

Bestätigen Sie, ob der Glusterfs-Dienst ausgeführt wird.

sudo service glusterfs-server status

Der folgende Befehl wird auf dem Server ausgeführt, um den Clientknoten (107.161.18.176) hinzuzufügen.

raj@gluster1:~$ sudo gluster peer probe 107.161.18.176
peer probe: success.

Status bestätigen.

sudo gluster peer status

Knoten auflisten.

sudo gluster pool list

Konfigurieren Sie die Firewall. Deaktivieren Sie die Firewall oder fügen Sie die IP des Clients zum zulässigen Bereich hinzu.

sudo iptables -I INPUT -p all -s <ip-address> -j ACCEPT

Die erfolgreiche Installation läuft wie folgt ab:

2.3  Erstellen Sie ein gemeinsam genutztes Speichervolume

Jetzt müssen wir das gemeinsam genutzte Speichervolume erstellen. Führen Sie zunächst die folgenden Vorgänge auf dem Server aus:


#创建文件夹
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

Gehen Sie nun zum Client (107.161.18.176) und mounten Sie den Server (139.162.175.85). Der Befehl lautet wie folgt:


#安装客户端
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

Führen Sie den Befehl aus: df -hP /mnt/glusterfs. Sie können sehen, dass die Bereitstellung erfolgreich war.

Sie können dies auch mit dem Befehl df sehen.

Jetzt können Sie einen gemeinsamen Speicher zwischen verschiedenen VPS-Hosts realisieren und die Synchronisierung beim Hinzufügen oder Ändern von Dateien sehen.

3. Samba realisiert die gemeinsame Nutzung zwischen Linux und Windows

Die beiden oben genannten Freigabemethoden eignen sich für Linux. Wie erfolgt die gemeinsame Nutzung unter Windows und Linux? Die beliebteste Methode ist derzeit ein plattformübergreifendes Netzwerk-Filesharing-Protokoll: SMB/CIFS. Windows unterstützt SMB/CIFS nativ und Linux implementiert das SMB/CIFS-Protokoll auch über die Open-Source-Software Samba.

3.1  Samba installieren

sudo apt-get install samba

3.2  Freigegebenes Verzeichnis erstellen

// 创建的目录即之后能够在Windows主机上直接访问的目录。
// 例如:在用户wzfou的主目录下新建share文件夹为共享目录
mkdir /home/wzfou/smbshare
// 由于Windows下的文件夹需可读可写可执行,需更改权限为777
sudo chmod 777 /home/wzfou/smbshare

3.3  Samba-Konfigurationsdatei ändern

// 修改 /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
// 在smb.conf文件最后加上以下内容

[share]
Pfad = /home/wzfou/smbshare
öffentlich = ja
schreibbar = ja
gültige Benutzer = wzfou
Maske erstellen = 0644
Erstellungsmodus erzwingen = 0644
Verzeichnismaske = 0755
Verzeichnismodus erzwingen = 0755
verfügbar = Ja

Die Beschreibung von smb.conf lautet wie folgt:

(1) [share] gibt den Alias ​​des freigegebenen Ordners an, und dieser Alias ​​wird später direkt verwendet.

(2) Die Einstellungen von Erzwingungsmodus und Verzeichnismodus erzwingen werden durch die unterschiedlichen Standardberechtigungen von Dateien und Ordnern unter Windows und Linux verursacht. Neu erstellte Dateien sind unter Windows ausführbar. Seine Dateiberechtigungen müssen zwingend festgelegt werden.

(3) „Gültige Benutzer“ ist auf Ihren aktuellen Linux-Benutzernamen festgelegt, z. B. „wzfou“, da Sie beim ersten Öffnen eines freigegebenen Ordners die Berechtigungen überprüfen müssen.

3.4  Login-Passwort festlegen

// 新建/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-Server starten

sudo /etc/init.d/samba restart

3.6  Testen Sie, ob die Freigabe erfolgreich ist

sudo apt-get install smbclient 
smbclient -L //xx.xx.xx.xx/share
//还记得吗?share为3.3中设置的共享文件夹的别名
//如果共享成功,将要求输入之前设置的密码


3.7 Verwendung von Samba unter Windows und Linux

Windows Explorer -> Netzlaufwerk zuordnen. Das Eingabeformat lautet: Der Name der IP-Adresskonfiguration, dann das Kontokennwort eingeben und die Verbindung ist erfolgreich.

Wenn Sie Windows 7 verwenden und möglicherweise keine Verbindung zu Samba herstellen können, können Sie das Problem mit den folgenden Methoden lösen:

1. Ändern Sie die lokale Sicherheitsrichtlinie: Führen Sie secpol.msc aus, um das Formular „Lokale Sicherheitsrichtlinie“ zu öffnen, klicken Sie auf „Lokale Richtlinie“ – „Sicherheitsoptionen“ und ändern Sie den Wert von „Netzwerksicherheit: LAN Manager-Authentifizierungsebene“ in „Senden“. LM und NTLM – NTLMv2-Sitzungssicherheit verwenden, falls ausgehandelt“, einfach alles in Ordnung.

2. Ändern Sie die Registrierung: Ändern Sie den Wert von LmCompatibilityLevel unter HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa auf 1.

Greifen Sie unter Linux über die Adresse smb://<samba-server-IP-address>/share in Thunar darauf zu.

4. Zusammenfassung

Unter den freigegebenen Linux-Ordnermethoden ist die NFS-Remote-Mounting-Methode die bequemste und eignet sich besonders für die Migration von Website-Daten zwischen verschiedenen VPS-Hostservern. Sobald die Remote-Mounting-Methode erfolgreich ist, können wir die Daten genauso bequem lokal kopieren Als drei Befehlstools: Rsync, SCP und Tar – lösen Sie die VPS-Remote-Website-Verlagerung und Datensynchronisierung schnell und sind bequemer.

Die GlusterFS-Methode zum Erstellen gemeinsamer Volumes eignet sich besonders für Cluster-Server. Das GlusterFS-Cluster-Dateisystem kann auch auf verteilten Docker-Speicher auf Unternehmensebene angewendet werden. Samba realisiert die Dateifreigabe zwischen Linux und Windows. Zuvor haben wir das NextCloud-Tutorial zur Raspberry Pi-Installation geteilt – selbst erstellte private Cloud-LAN-Freigabe. Tatsächlich können wir Samba auch verwenden, um den Raspberry Pi mit anderen Geräten zu teilen.

Hinterlasse eine Antwort