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 forhelp): 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 forhelp): g (输入g,新建gpt分区表)
Created a new GPT disklabel (GUID: F386FD07-EE67-7B4F-9745-F79C23610CFE).
Command (m forhelp): 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 forhelp): 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。使用存储服务器的话,请在存储服务器上操作)
因为windows的iscsi利用的是vhdx,所以我这里不需要额外的去找个windows来挂载,直接禁用这个分配(不禁用的话,是无法编辑vhdx的),然后去编辑vhdx就行
已经成功装载,只是没分区信息,现在去磁盘管理 ,进行初始化,分区。
这里初始化成gpt
接着在磁盘里,新建一个文件
脱离vhdx,然后再启用iscsi
2、pve连接iscsi(参照1.3)
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 //挂载操作
通过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-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服务器,对磁盘扩容。
装载磁盘进行扩容
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、在PVE里添加smb
点击数据中心,储存,添加 CIFS
ID自己定义
服务器smb服务器
用户名和密码就是刚才创建的账号密码
share:这里会自动出现文件夹,选择刚才创建的文件夹
节点:按需填写
内容:按需添加
完成!
全部完成。
原文地址:https://foxi.buduanwang.vip/virtualization/270.html
本文摘自:https://wp.gxnas.com/9345.html,感谢原作者