千家信息网

Linux系统搭建ISCSI存储服务器具体步骤是什么

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章跟大家分析一下"Linux系统搭建ISCSI存储服务器具体步骤是什么"。内容详细易懂,对"Linux系统搭建ISCSI存储服务器具体步骤是什么"感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下
千家信息网最后更新 2025年01月18日Linux系统搭建ISCSI存储服务器具体步骤是什么

这篇文章跟大家分析一下"Linux系统搭建ISCSI存储服务器具体步骤是什么"。内容详细易懂,对"Linux系统搭建ISCSI存储服务器具体步骤是什么"感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习"Linux系统搭建ISCSI存储服务器具体步骤是什么"的知识吧。

iSCSI是由LETF提出来的基于因特网SCSI-3协议下的存储技术,下面是在Linux系统中搭建ISCSI存储服务器的具体步骤。

ISCSI存储服务器简介:

  • iSCSI是由IBM发明的基于以太网的存储协议,该协议与SUN的NFS协议都是为了解决存储资源共享问题的解决方案。

  • 两者意图一致,只不过两者是不同的实现方式,前者在客户机上呈现的是一个块设备,而后者则是一个目录树。

  • iSCSI是一种存储设备远程映射技术,它可以将一个远程服务器上的存储设备映射到本地,并呈现为一个块设备(大白话就是磁盘)。从普通用户的角度,映射过来的磁盘与本地安装的磁盘毫无差异。

Linux系统中搭建ISCSI存储服务器详细步骤:

这里将Target主机第二块硬盘的第一个主分区(硬盘分区标识为/dev/sdb1)作为iSCSI共享磁盘,硬盘大小为20G,共享给一台linux主机使用。

1、在ISCSI存储服务器上安装iscsi target软件包,如下图所示:

2、iscsi target配置文件是/etc/tgt/targets.conf,此文件中的配置项默认全被注示掉了。编辑该文件,实现简单的ISCSI存储服务器配置。在文件尾部添加如下内容:

注:Target的命名在同一子网内应该是唯一的,标准命名方式为:iqn.yyyy-mm.[:identifier]其中:

iqn:表示"iSCSI Qualified Name",简称iqn。yyyy-mm:表示年份-月份。这里是2011-08。reversed domain name:表示倒过来的域名,这里是com.example。identifier:表示识别代码,这里是disk

backing-store用于指定存储设备,一般指非实际的物理磁盘,如LVM卷、某个分区、raid磁盘阵列。

然后启动tgtd服务,并设置系统启动时自动启动,iscsi通信的端口:3260/tcp,以明文传输数据

#service tgtd start

#chkconfig tgtd on

运行tgtadm –lld iscsi –op show –mode target查看target信息

至此,iscsi target存储服务器配置完成,使用iSCSI Initiator就可以连接iscsi target服务器了。

二. 安装和配置iscsi客户端

1、安装iscsi发起端软件:iscsi-initiator-utils软件包

#service iscsi start

#chkconfig iscsi on

2、查找iscsi服务器上的iscsi目标,即iscsi发现。

执行iscsiadm -m discovery –t st –p iscsi服务器的IP

iscsiadm -m discovery -t sendtargets -p targetIP地址:端口号

若是默认端口3260可以省略不写。

3、登录服务器上的iscsi目标,即iscsi注册

执行iscsiadm -m node -T target名称 -p targetIP地址:端口号 –login

退出iscsi盘阵

执行iscsiadm -m node -T target名称 -p targetIP地址:端口号 –logout

4、查看/dev/disk/by-path目录中iscsi符号链接所指向的位置或fdisk -l查看磁盘情况或检查iscsi的状态:service iscsi status或dmesg |tail

此时,可以使用iscsi磁盘,就好像它是本地连接硬盘驱动器。

5、对连接的iscsi磁盘分区并实现自动挂载

未分区前显示sdb信息如下,通过下图可以看出sdb还未建立分区

执行fdisk /dev/sdb分区并在创建好的分区上创建文件系统(执行mkfs –t ext4 /dev/sdb命令创建文件系统)

执行完分区和创建文件系统的命令后显示sdb信息如下:创建了一个主分区/dev/sdb1

修改/etc/fstab文件实现自动挂载

执行blkid /dev/sdb1获得sdb1分区的UUID

修改/etc/fstab文件自动挂载sdb1分区,如下图所示:

测试自动挂载:mount –a或重启系统后执行df –hT查看挂载情况

注意:

  1. 使用blkid确定文件系统UUID并使用UUID挂载,而不是/dev/sd*设备名称。(每次引导时显示的设备名称都不同,具体取决于iscsi设备通过网络进行响应的顺序,如果按设备名称挂载,这会导致使用错误的设备)

  2. 在/etc/fstab中使用_netdev作为挂载选项。(这将确保客户端不会尝试挂载文件系统,直至启用联网,否则,在引导时系统将出错)

  3. 确保iscsi和iscsid服务在引导时将启动

#chkconfig iscsi on

#chkconfig iscsid on

6、删除iscsi

卸载新文件系统并删除/etc/fstab中的行或对其添加批注,退出并删除iscsi目标的条目

7、加密iscsi (与加密一个普通LINUX分区一样)

三. 配置iscsi的发现和注册

1、#cryptsetup luksFormat /dev/sdb1 对iscsi的上新分区进行加密并设置解密密码

Are you sure? (Type uppercase yes): YES (输入大写的YES来确定创建加密分区)

Enter LUKS passphrase: (输入创建密码,你将用密码来保护你的加密分区。如果你把密 码弄丢了,那就太不幸了,你就无法取回这些数据了)

Verify passphrase: (确认密码)

2、这样一个加密分区就建立好了.接下来我们需要创建一个可以挂载的分区并给它取个名字(这里我给取名为sdb1, 你也可以叫它test、fred、我的秘密分区或者任何你喜欢的名字)

#cryptsetup luksOpen /dev/sdb1 sdb1

Enter LUKS passphrase: (这里输入的是创建加密分区时设置的密码)

它将会被创建在/dev/mapper/下面.这里就是/dev/mapper/sdb1,可以用ls命令查看

3、现在将该分区格式化为ext4文件系统。mkfs.ext4 /dev/mapper/sdb1

4、接下来我们创建一个用于挂载的挂载点并挂载. 记住,你必须从/dev/mapper/路径下使用该设备

5、现在将该分区格式化为ext4文件系统。mkfs.ext4 /dev/mapper/sdb1

6、接下来我们创建一个用于挂载的挂载点并挂载. 记住,你必须从/dev/mapper/路径下使用该设备

# mkdir /bak

#mount /dev/mapper/sdb1 /bak

好了,现在你可以使用你的加密分区了,如向其内创建或存储一些文件。

使用完毕后为了保护数据的隐密,我们需要取消挂载并关闭加密分区.

# umount /bak

# cryptsetup luksClose sdb1

只有在打开加密设备的时候,你才需要输入LUKS密码。记住,如果丢了密码,你就完蛋了。你可以删除分区重新再来,但是数据是无法恢复的。打开加密设备并加载以后,你就可以像使用其它分区一样使用它了。

#cryptsetup luksOpen /dev/sdb1 sdb1

Enter LUKS passphrase: (这里输入的是创建加密分区时设置的密码)

附加资料:

系统每次启动自动挂载加密分区:

/etc/crypttab包含要在系统启动期间解锁的设备列表,每一行列出一个设备,使用空格分隔字段。其格式如下:

name /dev/sdaN /path/to/password/file

每个字段的含义:

name字段是给加密分区取的一个名字

/dev/sdaN字段用于加密的分区设备

/path/to/password/file字段是用于解锁设备的密码文件,如果该字段为空或设置为none,在系统启动时,系统会提示用户输入解密密码

具体操作如下:

修改/etc/crypttab并添加如下内容,这个文件的作用是每次系统启动时挂载加密分区时要询问的的密码

sdb1 /dev/sdb1 /path/file

具体操作如下:

1、修改/etc/crypttab并添加如下内容,这个文件的作用是每次系统启动时挂载加密分区时要询问的的密码

sdb1 /dev/sdb1 /path/file

若/path/file省略或不设置,则系统在启动时将要求用户输入密码

2、修改/etc/fstab文件:添加如下内容

/dev/mapper/sdb1 /挂载点 ext4 defaults 0 0

注:sdb1是给加密分区取的名字即执行cryptsetup luksOpen /dev/sdb1 sdb1命令后给分区起的名称

3、echo "密码" > /path/file "密码"创建加密分区时设的密码

4、chown root /path/file

5、chmod 600 /path/file

6、执行下列命令:cryptsetup luksAddKey /dev/sdb1 /path/file

四、修改内核启动参数

识别运行内核:

  1. cat /etc/redhat-release //安装Red Hat Enterprise Linux版本。

  2. uname -r //当前运行的内核版本

  3. uname -m 或arch //当前运行所在处理器体系结构

  4. yum list installed kernel* 安装的内核版本

Grub 的配置文件位于 "/boot/grub/grub.conf", 更改后将对以后的每次启动有效。 此配置文件可分为两个大的部分:全局配置和菜单项配置:A. 全局配置命令全局配置命令从配置文件最上方到第一个 "title" 命令之前结束。default 0timeout 10splashimage (hd0,2)/boot/grub/splash.xpm.gzpassword –md5 tBWhgwVY$sIzNYKY/iV9rZ4keYAkaQ/ #设置了密码的才有此项default 菜单号: 指定 Grub 默认启动项(默认引导的系统), 菜单号从0 开始, 0 表示下面的第一个菜单项timeout seconds: 从 Grub 启动界面出现到以默认启动项引导系统之间等待用户选择的时间。splashimage full_path_of_xpm_or_xpm.gz: 指定启动菜单的背景文件(xpm 图像或其gzip 压缩文件)。B. 菜单项配置从"title"开始到下一个 "title" 之前为一个启动菜单项, 即引导一个操作系统所需的参数

title: 定义启动菜单项的名称root: 设置 Grub 的根设备 (root)为 Linux 内核所在分区kernel: 后跟 Linux 内核文件为参数, 加载 Linux 内核文件initrd: 加载镜像文件

1、临时修改内核启动参数

系统启动到GRUB阶段时,中断启动,选择要引导的系统。如图所示:

按"a"键进入修改内核引导参数界面,输入系统启动时要引导的内核参数。如下图所示:

按回车键继续启动系统。

与内核引导相关的引导参数可以查看如下文件:

/usr/share/doc/kernel-doc-*/Documentation/kernel-parameters.txt文件。要确保安装kernel-doc包。

如:enforcing参数:selinux控制;enforcing=1可设置强制模式,enforcing=0可设置许可模式。

Selinux参数:selinux控制;selinux=0可完全禁用selinux,selinux=1可启用selinux

vga参数:改变字符终端的分辨率,vga=788

vga参数值的意义,这里的值给出的是十进制的,也可以使用十六进制,如vga=0x317。

# VGA Mode Args# Color 640×480 800×600 1024×768 1280×1024# 256 769 771 773 775# 32K 784 787 790 793# 64K 785 788 791 794# 16M 786 789 792 795

2、永久修改内核启动参数:使用grub.conf文件

在/boot/grub/grub.conf或/etc/grub.conf文件中将内核参数添加到kernel一行中的rhgb quiet前面,注意这一声明前后与其他部分间有空格,如图所示:

你的修改应该在/proc/cmdline文件中可以查看到。

环回设备用于像挂载设备一样挂载文件。例如,对于访问ISO映像来说这种设备非常方便。默认情况下,内核支持8个环回设备。修改服务器的内核命令行,使其支持32个环回设备。

列出/dev目录中的环回设备(环回设备的名称都是loop):ls /dev/loop

将参数max_loop=32添加到/boot/grub/grub.conf中的内核命令行,重启服务器,再次查看环回设备的数量。

3、给GRUB设密码:(务必将password行置于第一个title行的上方,这样才可全局应用)

明文存储密码:在grub.conf文件的全局配置中添加password 密码

密文存储密码:先执行grup-md5-crypt命令生成密码加密字串,然后修改grub.conf文件在全局配置中添加password –md5 加密密码字串

4、通过/etc/sysctl.conf文件或sysctl命令查看或调整内核网络参数

如:启动内核路由net.ipv4.ip_forward可调整内核参数启动路由

修改/etc/sysctl.conf文件以永久更改,然后运行sysctl p以重新加载

关于Linux系统搭建ISCSI存储服务器具体步骤是什么就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下网站!

文件 系统 设备 密码 加密 存储 服务 内核 服务器 参数 配置 命令 磁盘 名称 菜单 输入 步骤 全局 内容 字段 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 通信协议开发与软件开发 教职工如何提高网络安全意识 bigemap离线地图服务器 本地服务器部署流程 乳山软件开发怎么选 数据库约束类型六种 韩国网络安全系统怎么样 如何有效进行网络安全保护 pg数据库表增加字段类型 防诈骗手抄报网络安全知识 网络安全法第五十七条规定 打游戏时ea服务器经常断开 网络安全见顶 高考的网络安全领域引发的问题 水浒传思维导图软件开发 数据库三个实体之间 厦门联驰软件开发有限公司 绵阳市览众网络技术有限公司 如何打造一个网络安全体系 未来之翼显示无法连接到服务器 软件开发与软件测试职业能力要求 数据库操作员计算机四级证书 曙光服务器安全模式怎么进 地盘网络安全海报 多媒体通信中的网络技术 广州沃会通网络技术有限公司 网络安全方面的题材 pdf导入sql数据库 数据库的e-r图怎么画 福州专用设备管理软件开发
0