设置高可用性NFS服务器

这是一个“复制和粘贴” HowTo! 遵循本教程的最简单的方法是使用命令行客户端/ SSH客户端(如 PuTTY for Windows),并简单地复制和粘贴命令(除了必须提供自己的信息,如IP地址,主机名,密码... )。 这有助于避免打字错误。

设置一个高度可用的NFS服务器

版本1.0
作者:Falko Timme
最后编辑:03/07/2006

在本教程中,我将介绍如何设置高可用性的NFS服务器,可用作其他高可用性服务的存储解决方案,例如,负载均衡的Web服务器集群。 如果您有一个具有两个或多个服务于相同网站的节点的Web服务器集群,则这些节点必须访问相同的数据池,以便每个节点都可以提供相同的数据,无论负载均衡器是否将用户指向节点1或节点n。 这可以通过NFS服务器上的所有Web服务器节点(NFS客户端)可以访问的NFS共享来实现。

由于我们不希望NFS服务器成为另一个“单点故障”,我们必须使其高度可用。 实际上,在本教程中,我将创建两个使用DRBD实时镜像数据的NFS服务器,并使用心跳进行监视 ,如果一个NFS服务器出现故障,则另一个将以静默方式接管。 对于外部(例如Web服务器节点),这两个NFS服务器将显示为单个NFS服务器。

在这个设置我将使用Debian Sarge(3.1)为两个NFS服务器以及NFS客户端(代表Web服务器集群的一个节点)。

我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!

1我的设置

在本文档中,我使用以下系统:

  • NFS服务器1: server1.example.com ,IP地址: 192.168.0.172 ; 我会把这个称为server1
  • NFS服务器2: server2.example.com ,IP地址: 192.168.0.173 ; 我会把这个称为server2
  • 虚拟IP地址:我使用192.168.0.174作为虚拟IP地址,表示NFS群集到外面。
  • NFS客户端(例如来自Web服务器集群的节点): client.example.com ,IP地址: 192.168.0.100 ; 我将NFS客户端称为客户机
  • / data目录将被DRBD在server1server2之间镜像。 它将包含NFS共享/数据/导出

2基本安装server1和server2

首先我们为server1server2设置了两个基本的Debian系统。 您可以按照本教程前两页的说明进行操作: http : //www.youcl.com/perfect_setup_debian_sarge 。 作为主机名,您分别输入server1server2 ,作为域输入example.com

关于分区,我使用以下分区方案:

/ dev / sda1 - 100 MB / boot(primary,ext3,Bootable flag:on)
/ dev / sda5 - 5000 MB /(logical,ext3)
/ dev / sda6 - 1000 MB交换(逻辑)
/ dev / sda7 - 150 MB unmounted (logical,ext3) (将包含DRBD的元数据)
/ dev / sda8 - 26 GB unmounted (logical,ext3) (将包含 / data 目录)

您可以根据硬盘大小更改分区的大小,并且您的分区名称也可能会有所不同,具体取决于您的硬件(例如,您可能使用/ dev / hda1而不是/ dev / sda1等)。 但是,重要的是/ dev / sda7 有一个超过128 MB ,因为我们将使用这个分区来使用128 MB的DRBD元数据。 另外,确保/ dev / sda7以及/ dev / sda8server1server2的大小相同请不要挂载它们 (当安装程序询问你时:

没有为SCSI1(0,0,0)(sda)的分区#7中的ext3文件系统分配挂载点。
你要返回分区菜单吗?

请回答/ dev / sda8将成为我们的数据分区(即我们的NFS共享)。

基本安装后,请确保给出server1server2的静态IP地址( server1192.168.0.172server2192.168.0.173 ),如https://www.youcl.com/perfect_setup_debian_sarge_p3开头所述)。

之后,您应该在两个系统上检查/ etc / fstab 。 两个系统上的矿井看起来都是这样的:

# /etc/fstab: static file system information.
#
# proc /proc proc defaults 0 0 /dev/sda5 / ext3 defaults,errors=remount-ro 0 1 /dev/sda1 /boot ext3 defaults 0 2 /dev/sda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

如果你发现你看起来像这样,例如:

# /etc/fstab: static file system information.
#
# proc /proc proc defaults 0 0 /dev/hda5 / ext3 defaults,errors=remount-ro 0 1 /dev/hda1 /boot ext3 defaults 0 2 /dev/hda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

那么请确保在以下配置文件中使用/ dev / h da而不是/ dev / s da 。 还要确保/ dev / sda7 (或/ dev / hda7 )和/ dev / sda8 (或/ dev / hda8 ...)不在/ etc / fstab中列出!

3同步系统时间

服务器1和服务器2都具有相同的系统时间很重要。 因此,我们在两者上安装NTP客户端:

server1 / server2:

apt-get install ntp ntpdate

之后,您可以检查两者是否具有相同的运行时间

server1 / server2:

日期

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏