龙空技术网

Proxmox VE pve添加nfs/smb/iscsi/NTFS储存

银汉横木 695

前言:

目前各位老铁们对“ubuntu下nfs挂载点”大概比较重视,我们都想要了解一些“ubuntu下nfs挂载点”的相关资讯。那么小编在网上汇集了一些有关“ubuntu下nfs挂载点””的相关知识,希望小伙伴们能喜欢,各位老铁们快快来学习一下吧!

PVE识别储存,无非就是通过lvm,和目录。iscsi磁盘,挂载系统之后,创建lvm,然后pve面板添加就行,或者直接创建分区,然后挂载到一个目录下,再去pve面板添加这个目录就ok。同理smb/nfs,也就是挂载成一个目录!然后添加

目录

总起!一:配置iscsi1.1查看iqn1.2 在iscsi服务器上,映射磁盘1.3在pve里添加iscsi磁盘1.4,创建iscsi磁盘分区1.5 使用LVM挂载iscsi1.6,PVE面板添加LVM1.7,使用EXT4挂载iscsi。1.8。在pve中使用EXT4目录1.9使用NTFS挂载磁盘(推荐)实践操作1、创建iscsi磁盘,并且进行分区操作。2、pve连接iscsi(参照1.3)3、PVE里挂载NTFS磁盘4、在pve里挂载目录5、进行扩容操作iscsi完美收工二:配置nfs1、创建nfs服务2、进PVE面板挂载nfs三 pve挂载smb教程1、创建smb账号.2、创建共享文件夹3、在PVE里添加smb全部完成。一:配置iscsi1.1查看iqn

在shell里,输入

cat /etc/iscsi/initiatorname.iscsi

即可看到iqn。比如我这里的是 iqn.1993-08.org.debian:01:ace95f49189b

PVE基于debian定制开发,很多命令与Ubuntu一样。

查找iSCSItargets主机的targetname:

iscsiadm --mode discovery --type sendtargets --portal 192.168.1.1

注:假设target主机ip为192.168.1.1

一、安装iSCSI 客户端

apt-getinstall open-iscsi

二、修改iscsid.conf配置文件(这样就能开机启动!)

vim/etc/iscsi/iscsid.conf

设置node.starup为automatic:

node.startup = automatic

三、查找iSCSItargets主机的targetname

iscsiadm --mode discovery --type sendtargets --portal 192.168.1.1

注:假设target主机ip为192.168.1.1

四、登录iscsi

iscsiadm --mode node --targetname iqn.target-2.aa56d02bb5--portal 192.168.1.1:3260 --login

注:假设target name为iqn.target-2.aa56d02bb5,3260为iSCSI服务默认端口

五、查看iscsitargets映射过来的卷

fdisk -l

或用dmesg 或tail-f /var/log/messages 命令查看

六、创建分区

fdisk /dev/sdb

按m可以看菜单,一般就直接n根据需要新建分区

注:fdisk一般只用来建立MBR的分区表,所以一般只用于2T以下的分区

七、格式化分区

mkfs.ext4 /dev/sdb1

现在一般用ext4的比较多了

八、挂载文件系统

mkdir /mnt/iscsi

mount /dev/sdb1 /mnt/iscsi

但是这样没法开机挂载,下面有一个挂载方法,但是我实际使用下来,不行,测试了一下,发现在运行rc.local的时候,iscsi都还没有挂载上去, 所以写在分区表里面是不行的,这个后面解决,先把挂载方法记录一下:

设置开机自动加载文件系统

在/etc/fstab中添加

/dev/sdb1 /data ext4 _netdev 0 0

但是,Linux系统重启后,磁盘设备的名称可能会发生飘移,从而引起文件系统不能挂载上来或者不能正确挂载,

使用UUID的方式进行挂载可以解决这个问题

命令tune2fs -l /dev/sdb可以查到文件系统的UUID

在/etc/fstab中添加

UUID=xxxxxxx /data ext4 _netdev 0 0 替换掉原来的那行

九、注销iSCSIinitiator登录

不需要时可以注销iSCSI initiator登录,先umount文件系统,再把第四步命令的login参数改成logout执行即可:

umount /mnt/iscsi

iscsiadm --mode node --targetname iqn.target-2.aa56d02bb5--portal 192.168.1.1:3260 --logout

十、删除指定Target

用logout只是暂时登出,发现的target信息会保存在数据库中,下次重启iscsi服务时(service iscsi restart),仍会找回该Target卷。如果想从数据库中删除该Target,需用以下命令:

查询数据库中Target内容:

iscsiadm -m node

删除指定的Target:

iscsiadm --mode node -o delete –targetname iqn.target-2.aa56d02bb5--portal 192.168.1.1:3260

因为直接挂载不行,所以就写个测试脚本,看看是不是脚本没有执行;这样也能知道几个文件的执行顺序,分别把脚本写在/etc/bash.bashrc /etc/rc.local /etc/init.d/rc.local

发现/etc/init.d/rc.local在ubuntu不执行。

#/bin/echo "by /etc/bash.bashrc ">> /root/tmp

#/bin/date >> /root/tmp

#/bin/ls /dev/sd* >> /root/tmp

#/bin/echo "======E N D=====">> /root/tmp

因为直接写在分区表,包括rc.local都不行,于是我就只能直接写在/etc/bash.bashrc里面

#/root/ds.sh

#: << End

#! /bin/bash

chk=$(du -s /mnt/iscsi |awk '{print $1}')

#空文件的话,只有du出来只有8

#echo $chk

des=20

#ch2=2

if [ $chk -lt $des ]

#如果小于20,说明没有挂载,就直接挂载

then #if iscsi is not mount then mount

mount /dev/sdg /mnt/iscsi

echo $?

echo "mount success !"

else

echo "Already mount !"

fi

#End

1.2 在iscsi服务器上,映射磁盘

每种服务器都不一样,我这里用的server2016,如果用专有的存储服务器,直接进控制台设置就行.

2020.4.20补充:最好不使用chap映射,如果要使用chap,只能在shell里挂载,不能使用GUI-web挂载。

1.3在pve里添加iscsi磁盘

在服务端设置好了,就可以在pve里设置。

选中【数据中心】——【储存】——【添加iscsi】

这里有3个值必须填写

ID: ==>就是这个磁盘的id,随意填写,不过需要字母portal: ==> iscsi服务器的地址target: ==>在输入以上2个信息后,iscsi会自动搜索服务器存在的target,这里选择自己需要的target节点:选择使用刚才查找iqn的节点直接使用LUN 不要勾选!lun就是直接作为虚拟机磁盘使用

填好之后,点击添加,即可看到储存里有个iscsi了,但是不能用

1.4,创建iscsi磁盘分区

在挂载iscsi的节点shell里

输入

fdisk -l

可以看到很多磁盘,找到一个新的磁盘

这里开始新建磁盘

fdisk /dev/sdc
1.5 使用LVM挂载iscsi

可以不使用lvm,使用普通的分区,等下介绍,看1.7。LVM好扩容,但是不支持

具体的细节如下。

Welcome to fdisk(util-linux 2.25.2).Changes will remainin memory only, until you decide to write them.Be careful beforeusing the write command.Command (m forhelp):g      (建立GPT分区表)…………Command (m forhelp):n      (建立一个新的分区,输入分区号、起始结束扇区等)…………Command (m forhelp):t      (改变分区类型31)Selected partition1Partition type(type L to list all types):31  (分区1的类型改变为Linux LVM)Command(m for help): w      (写入磁盘并退出fdisk)

再次在终端输入fdisk -l,可以查看磁盘已经分好区了

然后创建lvm

pvcreate /dev/sdc1                  创建pvvgcreate iscsi1 /dev/sdc1            创建一个名为iscsi1的vg
1.6,PVE面板添加LVM

找到数据中心-储存,点添加lvm

这里ID,自己填,方便记忆,卷组填 选择刚才创建的pv iscsi1。勾选共享的,然后添加。在pve节点中,就可以看到这个lvm了,内容也有了

1.7,使用EXT4挂载iscsi。

注1:原理就是挂载iscsi磁盘到一个文件夹下,然后通过pve挂载目录,但是我发现有一个缺陷就是不能开机挂载。可能我技术不行,lvm到是可以开机自动挂载。

注2:按照我发表的另一篇文章 Proxmox VE磁盘/目录详解,并且安装第二个硬盘,修改ISO/虚拟机存放位置(挂载第二张磁盘)的操作,理论上也同样适用于iscsi。就是挂载iscsi磁盘之后,进入pve节点——磁盘,可以看到磁盘,并且初始化,但是我这篇文章在撰稿时,识别不了。百思不得其解,于是乎有了下面的手动挂载磁盘。导致,开机不能自动挂载。坑!

我这里又分配了一个20G的硬盘,来做实验

首先还是新建分区

fdisk /dev/sde

具体过程如下

root@pve:~# fdisk /dev/sdeWelcome to fdisk (util-linux 2.33.1).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition table.Created a new DOS disklabel with disk identifier 0x2c01a8e9.Command (m for help): g             (输入g,新建gpt分区表)Created a new GPT disklabel (GUID: F386FD07-EE67-7B4F-9745-F79C23610CFE).Command (m for help): n              (输入n,新建分区)Partition number (1-128, default 1):   //回车First sector (2048-41943006, default 2048): //回车Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943006, default 41943006):   //回车Created a new partition 1 of type 'Linux filesystem' and of size 20 GiB.Command (m for help): w      (输入w 保存)The partition table has been altered.Calling ioctl() to re-read partition table.Syncing disks.

再次在终端输入fdisk -l 可以看到磁盘已经分区了

接着 格式化分区,然后挂载到目录

mkfs.ext4 /dev/sde1 mkdir /iscsi2               //创建iscsi2目录,用来挂载分区mount /dev/sde1 /iscsi2     //挂载/dev/sde1 到iscsi2

再输入 df -h 查看是否挂载成功,出现在列表里,成功挂载。

1.8。在pve中使用EXT4目录

依旧在数据中心,储存,这里选择添加目录

这里id,自己填写目录 刚才挂载的那个路径内容 自己按需添加共享 开启

回到节点页,可以看到已经添加进去了。

测试一下

在可以看到通过目录方式挂载的lvm,已经可以正常识别了

通过lvm挂载的iscsi也可以看到。

1.9使用NTFS挂载磁盘(推荐)

上面说到了LVM/EXT4,都是linux常用的。如果要进行扩容,缩减就必须技术人员技术扎实咯。介于我这半吊子技术,我还懒得写lvm、ext扩容教程,于是乎,有了一个非常nb的想法。

linux下的磁盘扩容很难,那我就在windows下呗。gui操作,多简单。ext和lvm在windows下操作不容易,所以干脆就用NTFS吧!

NTFS完美的解决了新手使用linux的问题!

使用ntfs优点1、通用性强。ntfs可以在windows下识别,可以在linux下识别。2、数据修改和恢复简单。ntfs直接在windows识别,直接操作,不讲道理,如果使用ext合适,还得下专业的软件,比如dg分区,还收费!3、对分区的操作十分简单。把iscsi挂载到windows下,直接通过windows的磁盘管理就可以进行分区操作,比如扩容,缩减空间。缺点:不能开机挂载,可能我技术垃圾。

实现原理把iscsi磁盘挂载到windows下,新建分区。然后挂载到pve下面就ok

实践操作1、创建iscsi磁盘,并且进行分区操作。

(我这里用的server2016。使用存储服务器的话,请在存储服务器上操作)

创建了一个5GB的iscsi的磁盘。

因为windows的iscsi利用的是vhdx,所以我这里不需要额外的去找个windows来挂载,直接禁用这个分配(不禁用的话,是无法编辑vhdx的),然后去编辑vhdx就行

已经成功装载,只是没分区信息,现在去磁盘管理 ,进行初始化,分区。

这里初始化

这里初始化成gpt

再格式化为ntfs

接着在磁盘里,新建一个文件

脱离vhdx,然后再启用iscsi

分离vhd

启用iscsi

2、pve连接iscsi(参照1.3)

成功登陆iscsi

3、PVE里挂载NTFS磁盘

先安装ntfs-3g

apt updateapt-get -y install ntfs-3g

有点慢,我没换源,算了换个源,写个换源教程先

proxmox ve换个源教程

安装成功

终端输入fdisk- l 然后找到5G的磁盘,挂载到/ntfs

fdisk -l                      //查看5G磁盘mkdir /ntfs2                  //创建挂载点mount /dev/sdd2 /ntfs         //挂载操作

看到5G磁盘分区为/dev/sdd2

通过df -h 可以看到挂载成功,同时进入磁盘,发现还是有一个刚才新家的文件,自己还新建一个inedx.html

4、在pve里挂载目录5、进行扩容操作

1、对iscsi磁盘进行操作,必须取消挂载,登出节点

卸载挂载点

umount /dev/sdd2

已经卸载

登出iscsi

root@pve:~# iscsiadm -m discovery -t st -p 10.13.14.205 //查看刚才挂载的node10.13.14.205:3260,1 iqn.1991-05.com.microsoft:win-21mqolqacj8-ugu-targetroot@pve:~# iscsiadm -m node -T iqn.1991-05.com.microsoft:win-21mqolqacj8-ugu-target -p 10.13.14.205 -u   //临时登出nodeLogging out of session [sid: 1, target: iqn.1991-05.com.microsoft:win-21mqolqacj8-ugu-target, portal: 10.13.14.205,3260]Logout of [sid: 1, target: iqn.1991-05.com.microsoft:win-21mqolqacj8-ugu-target, portal: 10.13.14.205,3260] successful.  //登出成功 
iscsiadm -m discovery -t st -p iscsi_ip:port   //查看node iqn命令 不加port就是默认3260iscsiadm -m node -T node_iqn -p iscsi_ip:port -u //临时登出node命令

2、回到iscsi服务器,对磁盘扩容。

这里进行扩展,扩展成40G

禁用分配

装载磁盘进行扩容

启用分配

3、重新挂载iscsi

登录iscsi

iscsiadm -m node -T iqn.1991-05.com.microsoft:win-21mqolqacj8-ugu-target -p 10.13.14.205 -l
iscsiadm -m node -T node_iqn -p iscsi_ip:port -l     //登入命令

我在进行这步操作之后,发现找不到扩容之后的iscsi磁盘,删除原来的磁盘分配,重启iscsi服务器,再分配磁盘就行了。使用存储服务器的可以忽略

已经有了,再挂载一下

mount /dev/sdd2 /ntfs
iscsi完美收工二:配置nfs

nfs很简单,作为文件储存,不涉及分区块,就不需要执行分区操作,挂载就能用,十分高效和快捷。而且可以在server上直接对文件进行操作。维护/备份十分方便

这里还是使用的是server2016创建的nfs服务

1、创建nfs服务

进入文件和储存服务,找到共享,然后添加匿名的共享,因为pve面板上没有用户验证,只能通过匿名访问

2、进PVE面板挂载nfs

还是进入数据中心——储存——添加nfs

依旧像ISCSI那样,直接输入ID(自定义),服务器IP,export会自动识别出来。内容就需要根据自己的意思选中咯。还有勾选高级选项,会出现nfs版本,这里要对应server,server2016默认是4.1,所以我选择了4.1

需要注意的是,在集群环境中,需要nfs做客户端映射的,就需要在节点选择nfs映射的节点。我这里是未映射就能访问,所以我这集群中,2个pve都能挂载,我就没选了。

哦豁,出错了

这里提示权限问题,应该是server2016权限问题,我把这里设置为允许未映射的用户访问。

然后就已经成功添加/访问。

在server2016里成功的看到了文件们

三 pve挂载smb教程

smb这里需要详细说一下服务器端的配置。我这里使用的是server2016。linux的smb服务端我不讲。

smb的难点是权限设置。

1、创建smb账号.

在计算机管理里面,找到本地用户和组,新建一个smb账号

2、创建共享文件夹

直接创建一个文件夹,然后,点击高级共享

勾选共享此文件夹,点击权限,添加刚才创建的smb用户,并把权限设置成完全控制

3、

3、在PVE里添加smb

点击数据中心,储存,添加 CIFS

ID自己定义服务器smb服务器用户名和密码就是刚才创建的账号密码share:这里会自动出现文件夹,选择刚才创建的文件夹节点:按需填写内容:按需添加

完成!

全部完成。

更多pve教程请看

佛西 2020年2月3日 LEAVE A COMMENTON PROXMOX VE PVE添加NFS/SMB/ISCSI/NTFS储存

标签: #ubuntu下nfs挂载点