linux磁盘共享nfs及iscsi

nfs

一 简述:

     NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

    优点:

    1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
    2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
    3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
    组成:

    NFS体系至少有两个主要部分:
    一台NFS服务器和若干台客户机,客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。 在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数

linux磁盘共享nfs及iscsi

二 安装与配置

1

服务端:

showmount -e 172.25.254.133 查看133的共享表信息
给火墙中添加以下服务
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd

firewall-cmd --reload

linux磁盘共享nfs及iscsi

linux磁盘共享nfs及iscsi

linux磁盘共享nfs及iscsi

mkdir /westos/nfs -p 创建共享文件夹
vim /etc/exports 共享表
    /westos/nfs   *(sync)随时同步更新    --将/westos/nfs共享给其他人

exportfs -rv 刷新

linux磁盘共享nfs及iscsi

客户端:
mount 172.25.254.133:/westos/nfs /mnt 挂载

df 查看即可

linux磁盘共享nfs及iscsi



2 客户端自动挂载

客户端:

安装autofs服务
yum install autofs -y
systemctl start autofs 开启服务
cd /net/172.25.254.133/westos/nfs

df  查看即可(会自动挂载)

linux磁盘共享nfs及iscsi

#rpm -qc autofs 可以查看autofs配置文件(7.2和7.0不同)

linux磁盘共享nfs及iscsi

linux磁盘共享nfs及iscsi

可以在配置文件更改自动卸载时间

timeout = 300 超时自动卸载

退出该文件夹

systemctl restart autofs

df 查看会发现已经自动卸载
linux磁盘共享nfs及iscsi


3 挂载到指定位置
进入指定文件夹(/westos/nfs),可以自动挂载

客户端:

vim /etc/auto.master     主策略文件

      /westos(输入nfs文件上层目录)  /etc/autu.nfs(可以随便更改,按照规定会更好)

linux磁盘共享nfs及iscsi

vim /etc/auto.nfs

   /nfs(最终挂载目录)   -rw(策略)  172.25.254.133:/westos/nfs

linux磁盘共享nfs及iscsi

systemctl restart autofs 重新启动
cd /westos/nfs 系统会根据需要自己创建,自己不要建立

df 查看即可

linux磁盘共享nfs及iscsi

(mount 可以查看刚刚所写策略)
linux磁盘共享nfs及iscsi

4 客户端可以对共享文件进行更改
 服务端:
    vim /etc/exports
           1 /westos/nfs  *(sync,rw读写)
           2 /westos/nfs  *(sync,rw读写,anonuid=1001,anongid=1001规定创建文件的用户和组)
           3 /westos/nfs  *(sync,rw读写,no_root_squash当root用户创建文件时,所属用户和组依旧为root)
           4 /westos/nfs  172.25.254.233(sync,rw读写,no_root_squash)   *(sync,ro) --233主机可以读写,其他都是只读
     改完刷新
     exportfs -rv

记得改/westos/nfs的权限

chmod 777 /westos/nfs

linux磁盘共享nfs及iscsi


客户端:
cd /westos/linux/nfs 进入nfs自动挂载
测试服务端的设定
touch file
ls -l
linux磁盘共享nfs及iscsi

ISCSI

一 

iscsi--磁盘共享

cifs--文件系统共享

nfs--文件系统共享

linux磁盘共享nfs及iscsi


服务端:

创建共享磁盘

yum install targetcli -y   安装
systemcli start target   启动服务

fdisk /dev/vdb    建立一个分区/dev/vdb1 一般设为lvm模式方便后期扩容

partprobe 同步分区表

targetcli    进入配置界面

/backstores/block create westos:storage1 /dev/vdb1  设置分享的磁盘并自定义名字
/iscsi create iqn.2017-12.com.example:storage1   共享磁盘的名字
/iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:key 设定**
/iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/westos:storage1 将**和设备相关联

iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.254.133  设定哪个端口共享

linux磁盘共享nfs及iscsi

firewall-cmd --permanent --add-port=3260/tcp  添加3260/tcp端口

如果报错 could not create networkportal in configfs  是因为已经存在一个ip和端口,需要删除,需要执行命令/iscsi/iqn.2017-12.com.example:storage1/tpg1/portals/ delete 0.0.0.0 ip_port=3260

firewall-cmd --reload  重新加载火墙策略
linux磁盘共享nfs及iscsi

客户端:
yum insatll iscsi-initiatiator-utils -y
vim /etc/iscsi/initiatorname.iscsi

    InitiatorName=iqn.2017-12.com.example:westoskey  输入**

linux磁盘共享nfs及iscsi

systemctl restart iscsi出现错误可以先重启iscsid,再重启iscsi
iscsiadm -m(动作) discovery(发现) -t(类型) st -p(ip地址) 172.25.254.133 发现共享设备

iscsiadm -m node -T() iqn.2017-12.com.example:storage1 -p 172.25.254.133 -l(本地) 登陆

linux磁盘共享nfs及iscsi

测试:

fdisk -l

linux磁盘共享nfs及iscsi

fdisk /dev/sda
partprobe
mkfs.xfs /dev/sda1
mount /dev/sda1 /mnt/

df 查看挂载即可

linux磁盘共享nfs及iscsi

永久挂载:

vim /etc/fstab

UUID="3d3f0013-a824-4b5e-ac06-ea92b5672bf2"(设备id) /mnt xfs defaults,_netdev(先启动网络设备再挂载) 0 0 ---第一次启动会有bug ,必须进行第二次启动
/etc/systemd/system/   ---开机默认启动服务
/etc/rc.d/rc.local 开机自启动

删除挂载:
yum install tree(以树状图列出目录的内容)
tree /var/lib/iscsi/ 查看所用的虚拟设备
iscsiadm -m node -T(设备名称) iqn.2017-12.com.example:storage1 -p 172.25.254.133 -u 退出登陆
iscsiadm -m node -T(设备名称) iqn.2017-12.com.example:storage1 -p 172.25.254.133 -o delete 删除
systemctl restart iscsi 重启服务
linux磁盘共享nfs及iscsi

共享lvm分区
服务端:
fdisk /dev/vdb    --建立一个lvm分区(8e)
  partprobe
 
pvcreate /dev/vdb1

  vgcreate iscsi_vg0 /dev/vdb1

  vgdisplay 查看vg具体信息

  lvcreate -l 255 -n iscsi_lv0 iscsi_vg0

linux磁盘共享nfs及iscsi

clearconfig confirm=true 清空

/backstores/block create westos:storage1 /dev/iscsi_vg/iscsi_lv0  改分区名字

/iscsi create iqn.2017-12.com.example:storage1   改共享的名字
/iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:key 设定**
/iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/westos:storage1 将**和设备相关联

iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.254.133  设定端口

linux磁盘共享nfs及iscsi


客户端:
vim /etc/iscsi/initiatorname.iscsi
systemctl restart iscsid 重启主服务

systemctl restart iscsi  重启子服务

linux磁盘共享nfs及iscsi

iscsiadm -m discovery -t st -p 172.25.254.133 发现共享设备

iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.133 -l  登陆

linux磁盘共享nfs及iscsi

fdisk -l  --查看分区
linux磁盘共享nfs及iscsi
lvm分区扩容:
服务端:
fdisk /dev/vdb 再建立一个lvm分区
partprobe
pvcreate /dev/vdb2
vgextend iscsi_vg /dev/vdb2
lvextend -L 1800M /dev/iscsi_vg/iscsi_lv0 扩大到1800M
lvs
linux磁盘共享nfs及iscsi

客户端:
iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.133 -u 退出
iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.133 -l  登陆

fdisk -l  --查看分区大小对比即可,

linux磁盘共享nfs及iscsi

##vmlinuz 系统内核
##initrd.img 包含系统初始化的所有命令