如何在CentOS 7上安装Oxwall
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
GlusterFS是一个网络连接的文件系统,可以有效地使您跨网络上的多个设备共享两个驱动器。该文件系统非常适合Vultr的块存储产品,因为您可以通过网络共享开箱即用的驱动器。
在功能,可扩展性和可靠性方面,GlusterFS被证明是可用的最复杂,最稳定的文件系统之一。
对一台服务器上的驱动器进行更改后,这些更改将自动实时复制到另一台服务器上。为了实现这一目标并遵循本指南,您将需要:
订购这两个块存储驱动器后,应将它们连接到VM 1和VM2。由于我们将两个块存储驱动器用于同一文件系统,因此将两个驱动器的总大小除以2将得到可用的数量。的GB。例如,如果您有两个100 GB的驱动器,则可以使用100 GB(100 * 2/2)。
此外,两个VM都需要位于同一位置,以便它们位于同一专用网络上。我们将使用其内部IP地址连接到服务器。请注意,我们将擦除块存储驱动器上的数据。确保它们是全新的且未格式化的。
在本指南中,我们将分别使用storage1
和和storage2
私有IP地址10.0.99.10和10.0.99.11。您的服务器名称和IP地址很可能会有所不同,因此请确保在设置GlusterFS的过程中更改它们。
本指南是在考虑CentOS / RHEL 7的情况下编写的。但是,GlusterFS在多个Linux发行版之间相对交叉兼容。
/etc/hosts
文件为了使我们能够快速连接到各个实例,我们应该在hosts
文件中添加易于记忆的名称。打开/etc/hosts
文件,并在其底部添加以下几行:
10.0.99.10 storage1
10.0.99.11 storage2
storage1
SSH输入storage1
并执行以下命令。默认情况下,附加的块存储驱动器安装为/dev/vdb
。如果由于某种原因您的情况有所不同,则应在以下命令中进行更改。
格式化磁盘:
fdisk /dev/vdb
对于以下三个问题,请单击“输入”(关于分区大小等,我们要使用块存储驱动器上的所有可用空间),并输入“ w”以将这些更改写入磁盘。成功完成此操作后,输入:
/sbin/mkfs.ext4 /dev/vdb1
我们已经继续创建了文件系统,因为Vultr默认情况下不会在块存储中创建任何文件系统。
接下来,我们将创建用于存储文件的文件夹。您可以更改此名称,但是不会看到太多名称,因此为了消除复杂性,我建议您不要使用它。
mkdir /glusterfs1
要在启动时自动安装驱动器,请打开/etc/fstab
并在文件底部添加以下行:
/dev/vdb1 /glusterfs1 ext4 defaults 1 2
最后,安装驱动器:
mount -a
在重新引导后,安装将保持不变,因此,当您重新引导服务器时,驱动器将自动重新安装。
storage2
现在我们已经添加了磁盘并将其安装在上storage1
,我们还需要在其上创建磁盘storage2
。命令几乎没有区别。对于fdisk
,请执行与上述相同的步骤。
fdisk /dev/sdb
/sbin/mkfs.ext4 /dev/sdb1
mkdir /glusterfs2
编辑/etc/fstab
并添加以下行:
/dev/vdb1 /glusterfs2 ext4 defaults 1 2
就像on一样storage1
,驱动器将在重新引导后自动安装。
安装驱动器:
mount -a
最后,让我们检查一下是否可以看到分区显示出来:
df -h
您应该看到驱动器显示在这里。如果不是这样,请尝试按照上面的步骤操作。
storage1
和上安装GlusterFSstorage2
接下来,我们需要安装GlusterFS。添加存储库并安装GlusterFS:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.5/CentOS/glusterfs-epel.repo
yum -y install glusterfs glusterfs-fuse glusterfs-server
yum
由于存储库的签名不正确,有可能导致您收到错误消息。在这种情况下,可以强制不检查GPG签名:
yum -y install glusterfs glusterfs-fuse glusterfs-server --nogpgcheck
在两台服务器上,执行以下命令立即启动GlusterFS,并在重新启动后自动启动它:
systemctl enable glusterd.service
systemctl start glusterd.service
如果您使用旧版本的CentOS,则可以使用service
和chkconfig
命令:
chkconfig glusterd on
service glusterd start
storage1
和上禁用防火墙storage2
尽管这本身并不是最佳解决方案,但最好关闭防火墙,以消除与阻塞端口的可能冲突。如果您不愿意这样做,则可以随意更改规则,但由于GlusterFS的性质,我强烈建议禁用防火墙。考虑到私有网络实际上在Vultr上是私有的(并且您不需要防火墙屏蔽其他客户),您可以简单地阻止来自Internet的所有传入流量,并限制到私有网络的允许连接。但是,关闭防火墙并且不更改任何其他系统配置也将足够:
systemctl stop firewalld.service
systemctl disable firewalld.service
如果您使用不支持的较旧CentOS版本systemctl
,请使用service
和chkconfig
命令:
service firewalld stop
chkconfig firewalld off
如果您不使用firewalld
,请尝试禁用iptables
:
service iptables stop
chkconfig iptables off
关闭防火墙后,我们可以将两个服务器都添加到存储池中。这是一个包含所有可用存储的池。在上执行以下命令storage1
:
gluster peer probe storage2
该命令的作用是将storage2
其添加到其自己的存储池中。通过在上执行以下命令storage2
,两个驱动器将同步:
gluster peer probe storage1
在两台服务器上执行完此操作后,我们应检查两台服务器上的状态:
gluster peer status
两台服务器都应显示“对等:1”状态。人们通常希望看到Peers: 2
,这是一个常见的错误,但是就像storage1
会凝视,storage2
反之亦然,他们不会凝视自己。因此,Peers: 1
这就是我们所需要的。
storage1
现在两个服务器都可以通过GlusterFS相互连接,我们将创建一个共享驱动器。
在上storage1
,执行:
gluster volume create mailrep-volume replica 2 storage1:/glusterfs1/files storage2:/glusterfs2/files force
现在已经创建了该卷。在GlusterFS中,您需要“启动”一个卷,以便在多个设备之间主动共享该卷。让我们开始吧:
gluster volume start mailrep-volume
接下来,选择一个应该在卷上并在两台服务器之间复制的文件夹。在本教程中,我们将使用文件夹/var/files
。自然,这可以是您喜欢的任何东西。storage1
仅在创建它:
mkdir /var/files
接下来,安装它:
mount.glusterfs storage1:/mailrep-volume /var/files/
更新,/etc/fstab
以便驱动器将在引导时自动安装。添加以下内容:
storage1:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0
重新安装驱动器:
mount -a
storage2
现在我们已经在上创建了一个共享驱动器storage1
,我们还需要在上面创建一个共享驱动器storage2
。创建一个具有相同位置/路径和名称的文件夹:
mkdir /var/files
mount.glusterfs storage2:/mailrep-volume /var/files/
与on一样storage1
,将以下行添加到/etc/fstab
:
storage2:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0
重新安装驱动器:
mount -a
导航到/var/files
文件夹storage1
并创建一个文件:
cd /var/files
touch created_on_storage1
接下来,转到storage2
服务器。执行ls -la
,您应该看到文件created_on_storage1
出现。
在上storage2
,导航到该/var/files
文件夹并创建一个文件:
cd /var/files
touch created_on_storage2
返回storage1
并执行ls -la /var/files
。您应该看到文件created_on_storage2
出现在这里。
为了仔细检查您的设置是否在重新启动后保持不变,作为最佳实践,您应该重新启动所有服务器。如前所述,您应该等待一台服务器启动,然后重新启动另一台服务器,以自动安装共享驱动器。
storage1
首先重新启动,等待它启动,然后重新启动storage2
。现在登录并在两个服务器上执行:
cd /var/files
ls -la
您现在应该看到两个文件都出现。确保开始时卷上没有任何文件,因此请删除我们创建的测试文件。你可以这样做的storage1
,storage2
或两者兼而有之。更改将立即复制:
cd /var/files
rm created_on_storage1
rm created_on_storage2
无论两个卷上的操作如何,您在两个服务器上都应具有相同的共享卷。
现在,您已经建立了具有100 GB(或更多)可用空间的完整GlusterFS设置。万一您将来需要更多,可以轻松扩展该设置以增加容量和/或服务器(如果您的工作负载需要这样做)。
感谢您的阅读!
GlusterFS允许在两个驱动器上保持数据最新。但是,您应注意,当同时重启两个服务器时,您将需要在两个服务器上强制安装驱动器。您必须通过执行以下命令来手动强制安装:
gluster volume start mailrep-volume force
这是因为其中一台服务器充当服务器,另一台服务器充当客户端。尽管在实践中这种区别并不容易察觉,但这意味着当您需要重新引导两个服务器时,应该重新引导一个服务器,等到它启动后再引导另一个服务器。
即使您的数据将跨两个驱动器复制,您也应至少复制三次数据。尽管可以更好地保护您的数据免遭数据损坏等损害,但您应注意,更改是即时的,绝不会受到人为错误的保护。当您删除一个驱动器上的所有文件时,这些更改将立即复制到另一驱动器上,这意味着您的数据将在两个实例上均被擦除。
幸运的是,有多种方法可以避免这种情况。首先,我建议在云实例本身上启用备份。尽管这些备份不包括块存储中的数据,但它将保护实例本身上的数据。
在备份块存储本身上的数据时,我建议旋转一个单独的实例(例如SATA计划),例如,您可以每晚从两个连接的服务器之一运行备份。这样,您的数据将在另一台单独的设备上安全。
您可以从Vultr控制面板增加块存储大小。之后,您应该在操作系统内调整磁盘的大小,但这超出了本文的范围。
尽管本指南是针对两个服务器编写的(因此两个服务器都连接了两个块存储驱动器),但是也可以将本指南用于两个以上的服务器。对于6个服务器,具有两个以上服务器/驱动器的设置如下所示:
VM: storage1
VM: storage2
VM: storage3
VM: storage4
Block Storage: attached to storage1
Block Storage: attached to storage2
Block Storage: attached to storage3
Block Storage: attached to storage4
假设所有块存储驱动器的容量为200 GB,则将得到200 * 4 /4。换句话说,可用空间始终是单个块存储驱动器的容量。这是因为GlusterFS将一台附加了块存储的服务器视为“主服务器”,并将其复制到其他服务器上。但是,该设置是为了在没有主服务器的情况下也能够生存而设计的,这使其成为一种冗余,可靠,稳定的解决方案。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件
简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供
使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用
MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商
H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器
在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫
使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装
使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的
使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是
使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智
使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息
大數據的13個商業數據提取工具
我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true
隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。
洞察 26 種大數據分析技術:第 1 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。