Proxmox VE(PVE)添加nfs/smb/iscsi/NTFS做储存

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

 

一:配置iscsi

1.1查看iqn

在shell里,输入

cat /etc/iscsi/initiatorname.iscsi

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

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 partition1

Partition type(type L to list all types):31  (分区1的类型改变为Linux LVM)

Command(m for help): w      (写入磁盘并退出fdisk)

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

然后创建lvm

pvcreate /dev/sdc1                  创建pv
vgcreate 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/sde

Welcome 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 update
apt-get -y install ntfs-3g
有点慢,我没换源,算了换个源,写个换源教程先

proxmox ve换个源教程 https://foxi.buduanwang.vip/linux/298.html/

安装成功

终端输入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 //查看刚才挂载的node
10.13.14.205:3260,1 iqn.1991-05.com.microsoft:win-21mqolqacj8-ugu-target
root@pve:~# iscsiadm -m node -T iqn.1991-05.com.microsoft:win-21mqolqacj8-ugu-target -p 10.13.14.205 -u   //临时登出node
Logging 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就是默认3260
iscsiadm -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:这里会自动出现文件夹,选择刚才创建的文件夹
节点:按需填写
内容:按需添加

完成!

全部完成。

 


原文地址:https://foxi.buduanwang.vip/virtualization/270.html

点赞
  1. 木船说道:
    Google Chrome Windows 10
    博主你好!我在服务器联想rd640上安装的ESXI6.7,然后安装了群晖dsm3217x-7.2,网络是千兆,在电脑win11用smb访问时,从服务器到电脑拷贝文件,100MB以上偶尔有衰减到一半速度过会儿又正常了;从电脑往服务器拷贝文件一开始是100mb以上,然后逐渐低到10mb,甚至后来只有几百Kb。然后重复拷贝,就只有几mb或几百kb。原本以为是不是触发了防火墙规则(我是在单位,正常有300-500人上网),后来单独挂到一台闲置的锐捷企业路由上,没有策略,全放开,还是这个问题。请问是什么原因?该怎么解决,谢谢
    1. 木船说道:
      Google Chrome Windows 10
      另外把群辉的虚拟机重启一下,第一次拷贝又和上述情况一样。上传一个4G的电影,先是正常速度,到一半是速度慢慢衰减,有时能维持在20mb,多次拷贝,最后只能在几mb甚至几百kb。 下载到电脑多数情况是正常的。
    2. 木船说道:
      Google Chrome Windows 10
      忘了说,esxi我装了vcenter 6.7的,不晓得有没有影响
      1. 博主说道:
        Google Chrome Windows 10
        有没有vcenter都不影响复制文件的速度。局域网复制文件速度取决于你的网络环境(包括硬件和软件)、硬盘的读写速度。你把群晖的IPv6关掉,然后去看这篇文章https://wp.gxnas.com/11819.html,按照我在2022年5月24日更新的内容设置一下。
        1. 木船说道:
          Google Chrome Windows 10
          博主啊,我已经按照设置了,但是还是不行。偶然发现清理了smb缓存后就能正常一会儿,然后又掉速,请问怎么办?谢谢
          1. 博主说道:
            Google Chrome Windows 10
            那你看一下硬盘的型号,是不是叠瓦技术的硬盘。
        2. 木船说道:
          Google Chrome Windows 10
          我是4块西数红盘,做的raid5。叠瓦技术的硬盘? 想问下smb掉速有没有什么好的办法?谢谢
  2. Ching说道:
    Google Chrome Windows 10
    问问博主,这几种我都测试过,你有没有发现SMB的共享方式效率很低,很慢
    1. 博主说道:
      Google Chrome Windows 7
      本文只提供方法供参考,相当于多了一条路子而已。至于效率嘛,肯定是直接挂载硬盘的效率高啊。

发表回复