linux-centos7-如何利用新的硬盘,来构建NFS远程共享存储
说明:
记得先添加新的硬盘!!!
新硬盘的添加和分区:请看笔记:linux-centos7-如何使用分区工具fdisk和gdisk来对硬盘进行分区
准备两台虚拟机:我的是:192.168.126.135(虚拟机1-nfs-server)、192.168.126.131(虚拟机2-nfs-kehu)
[root@nfs-server ~]# cat /etc/redhat-release #查看我的系统版本
CentOS Linux release 7.4.1708 (Core) #我的系统版本
[root@nfs-server ~]# uname -r #查看我的系统内核版本
3.10.0-693.el7.x86_64 #我的系统内核版本
[root@nfs-server ~]# hostnamectl set-hostname nfs-server #为方便对比,我设置了我的虚拟机1的主机名字
[root@nfs-kehu ~]# hostnamectl set-hostname nfs-kehu #为方便对比,我设置了我的虚拟机2的主机名字
虚拟机1(nfs-server):服务端 虚拟机2(nfs-kehu):客户端
1、nfs-server操作:使用命令 yum install -y rpcbind 安装rpc协议。
安装nfs服务: yum install -y nfs-utils。
[root@nfs-server ~]# yum install -y rpcbind #安装rpc协议
[root@nfs-server ~]# yum install -y nfs-utils #安装nfs服务
#如果安装过程中出现:No package nginx available. Error: Nothing to do。请执行以下这条命令:
[root@nfs-server ~]# yum install -y epel*
2、启动服务:nfs、rpcbind服务。
[root@nfs-server ~]# systemctl start nfs #启动nfs服务
[root@nfs-server ~]# systemctl start rpcbind #启动rpcbind服务
3、使用命令:ps aux | grep 加上你的服务名,netstat -lntp, 查看nfs、rpcbind服务和端口的情况。
[root@nfs-server ~]# ps aux | grep nfs #查看nfs服务启动情况
root 81746 0.0 0.0 112828 980 pts/0 R+ 17:36 0:00 grep --color=auto nfs
root 105730 0.0 0.0 0 0 ? S< 13:51 0:00 [nfsd4_callbacks]
root 105736 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
root 105737 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
root 105738 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
root 105739 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
root 105740 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
root 105741 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
root 105742 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
root 105743 0.0 0.0 0 0 ? S 13:51 0:00 [nfsd]
[root@nfs-server ~]# ps aux | grep rpcbind #查看rpcbind服务的情况
rpc 30362 0.0 0.1 65020 1404 ? Ss 10:35 0:00 /sbin/rpcbind -w
root 82824 0.0 0.0 112828 980 pts/0 R+ 17:37 0:00 grep --color=auto rpcbind
[root@nfs-server ~]# netstat -lntp #查看端口的情况
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 30362/rpcbind
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 105548/rpc.mountd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 920/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1217/master
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:43204 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:42405 0.0.0.0:* LISTEN 30354/rpc.statd
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 915/php-fpm: master
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1149/mysqld
tcp6 0 0 :::111 :::* LISTEN 30362/rpcbind
tcp6 0 0 :::20048 :::* LISTEN 105548/rpc.mountd
tcp6 0 0 :::21 :::* LISTEN 100479/vsftpd
tcp6 0 0 :::22 :::* LISTEN 920/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1217/master
tcp6 0 0 :::36415 :::* LISTEN -
tcp6 0 0 :::2049 :::* LISTEN -
tcp6 0 0 :::40930 :::* LISTEN 30354/rpc.statd
4、找一块已经添加好的硬盘,并进行分区,格式化,并为该硬盘制作文件系统。
此步骤,请查看笔记:linux-centos7-如何使用分区工具fdisk和gdisk来对硬盘进行分区
现在,我们使用命令lsblk 查看硬盘的情况。我分好区的是/dev/sdc1。就是sdc这块硬盘。
[root@nfs-server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.8G 0 part /
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 3G 0 part
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 3G 0 part
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 10G 0 part
sdd 8:48 0 20G 0 disk
sr0 11:0 1 4.2G 0 rom
5、使用命令mkdir 加上你在哪个目录下创建的目录名,来创建我的挂载目录(nfs-gongxiang)。
[root@nfs-server ~]# mkdir /mnt/nfs-gongxiang
6、使用命令mount,加上你的挂载设备,加上你要挂载的那个目录,将分好区的硬盘挂载到/mnt/nfs-gongxiang下。
[root@nfs-server ~]# mount /dev/sdc1 /mnt/nfs-gongxiang #挂载到/mnt/nfs-gongxiang
7、使用命令lsblk 查看硬盘的情况。我现在已经把/dev/sdc1 挂载到/mnt/nfs-gongxiang。
[root@nfs-server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.8G 0 part /
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 3G 0 part
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 3G 0 part
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 10G 0 part /mnt/nfs-gongxiang
sdd 8:48 0 20G 0 disk
sr0 11:0 1 4.2G 0 rom
8、使用命令:mkdir 加上你在哪个目录下创建的目录名,来创建我的挂载目录下的共享目录(nfs)。
[root@nfs-server ~]# mkdir /mnt/nfs-gongxiang/nfs #创建共享目录nfs
[root@nfs-server ~]# cd /mnt/nfs-gongxiang/nfs/ #切换到/mnt/nfs-gongxiang/nfs/
[root@nfs-server nfs]# pwd #pwd打印当前目录的路径
/mnt/nfs-gongxiang/nfs
9、使用命令:vim /etc/exports,编辑共享文件,摁 i 在光标处进入编辑模式。
[root@nfs-server nfs]# vim /etc/exports #vi或vim进入/etc/exports设置共享的相关信息
/mnt/nfs-gongxiang/nfs 192.168.126.0/24(rw,no_root_squash,sync) #设置共享的相关信息,shift键+: 进入可扩展(尾行)模式,输入wq,保存并退出。
#第一列:共享的目录
#第二列:所有在192.168.126这个网段下的机子都可以使用,也可以直接指定ip地址,但必须要在同一个网段下。
#第三列:设置一些权限。就是给共享目录设置一些权限,下面有解释。
rw:有读写权限。
no_root_squash:使用分享目录的使用者,就是说使用这个目录的用户是拥有root的权限,也就是管理员用户的权限。
sync:所有数据在请求时写入共享。
10、编写完/etc/exports后,使用命令 systemctl restart 加上你要重启的服务,我们重启nfs-server服务。
[root@nfs-server nfs]# systemctl restart nfs-server #重启服务nfs-server。等待的时间可能有点长。
[root@nfs-server nfs]# systemctl enable nfs-server #也可把nfs-server服务设置成为开机自动启动。
11、使用命令exportfs -v,来确认nfs服务是否启动。
[root@nfs-server nfs]# exportfs -v #确认nfs服务是否启动
/mnt/nfs-gongxiang/nfs
192.168.126.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
以上操作均在主机名为:nfs-server,虚拟机1,IP地址为:192.168.126.135
以下操作均在主机名为:nfs-kehu,虚拟机2,IP地址为:192.168.126.131
12、nfs-server操作:使用命令 yum install -y rpcbind 安装rpc协议。
安装nfs服务: yum install -y nfs-utils。(注:安装完rpc协议和nfs服务,不用去执行启动服务命令)
[root@nfs-kehu ~]# yum install -y rpcbind #安装rpc协议
[root@nfs-kehu ~]## yum install -y nfs-utils #安装nfs服务
#如果安装过程中出现:No package nginx available. Error: Nothing to do。请执行以下这条命令:
[root@nfs-kehu ~]## yum install -y epel*
13、使用命令 mkdir 加上你在哪个目录下创建的目录名。创建这个目录用来挂载nfs-server上的共享目录
[root@nfs-kehu ~]# mkdir /nfs-test #在根目录下创建nfs-test目录
[root@nfs-kehu ~]# cd / #注:如果想要查看是否有创建,直接cd 到根(/)目录下,然后ls查看。
[root@nfs-kehu /]# ls #查看当前路径下的信息。
14、使用挂载命令 mount ,把虚拟机1,IP地址为:192.168.126.135的共享目录,直接挂载到虚拟机2,IP地址为:192.168.126.131上。
nfs-kehu上操作:
[root@nfs-kehu /]# mount -t nfs 192.168.126.135:/mnt/nfs-gongxiang/nfs /nfs-test/
1、mount 挂载命令。
2、-t:指定文件系统格式,我指定的是nfs,因为我们做的是共享存储(nfs)。
3、加上虚拟机服务端上的共享目录。192.168.126.135:/mnt/nfs-gongxiang/nfs
4、要挂载到客户端上的哪个目录。/nfs-test/
15、使用命令df -Th,查看硬盘的挂载情况。
[root@nfs-kehu /]# df -Th #查看硬盘的挂载情况
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 18G 8.6G 9.3G 48% /
devtmpfs devtmpfs 479M 0 479M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 6.8M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 xfs 197M 97M 100M 50% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
192.168.126.135:/mnt/nfs-gongxiang/nfs nfs4 10G 33M 10G 1% /nfs-test
16、挂载成功,如果想做开机自动挂载的,按以下的步骤执行:
[root@nfs-kehu /]# vim /etc/fstab #vim进入/etc/fstab,摁 i 在光标处进入编辑模式。进入以下界面后,输入你的挂载设备,挂载点,文件系统的格式,文件属性默认(defaults),不检查,不备份。详情请见笔记:如何用10个10G的磁盘,做出一个70G的分区及挂载和开机自动挂载。
#注:请记得shift键+: 进入可扩展(尾行)模式,输入wq,保存并退出。
192.168.126.135:/mnt/nfs-gongxiang/nfs /nfs-test nfs defaults 0 0
17、使用命令mount -a 自动挂载。
[root@nfs-kehu /]# mount -a #自动挂载
18、使用命令df -Th,查看硬盘的挂载情况。
[root@nfs-kehu /]# df -Th #查看硬盘的挂载情况
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 18G 8.6G 9.3G 48% /
devtmpfs devtmpfs 479M 0 479M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 6.8M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 xfs 197M 97M 100M 50% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
192.168.126.135:/mnt/nfs-gongxiang/nfs nfs4 10G 33M 10G 1% /nfs-test
19、(有需要的话)取消挂载命令是:umount 加上你当前挂载的目录。
[root@nfs-kehu /]# umount /nfs-test/ #取消挂载