CentOS 6.5 安装部署iSCSi共享存储

一、前言

  1、什么是iSCSI?

    iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。

    iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface)。
Internet 小型计算机系统接口(iSCSI)是一种基于 TCP/IP的协议,用来建立和管理 IP 存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得 SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。
    SCSI 结构基于客户/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由 SCSI 总线连接。iSCSI 的主要功能是在 TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且运行在 TCP 上。

  2、环境介绍:

    本次部署由3台物理机实现,具体信息分别为以下:

      a、iSCSI_Server:192.168.30.133

      b、iSCSI_Client1:192.168.30.131

      c、iSCSI_Client2:192.168.30.132

    需要用到的软件为:

      a、scsi-target-utils    # 提供Server端服务

      b、iscsi-initiator-utils  #提供Client服务

二、安装部署服务端,即iSCSI_Server


   1、在服务端创建可共享的磁盘或卷;这里就新添加一块新磁盘做为共享;

    查看新添加的硬盘:

     

[root@iSCSI_Server~]#fdisk-l
disk/dev/sda:32.2GB,32212254720bytes
64heads,32sectors/track,30720cylinders
Units=cylindersof2048*512=1048576bytes
Sectorsize(logical/physical):512bytes/512bytes
I/Osize(minimum/optimal):512bytes/512bytes
diskidentifier:0x000da3dc
DeviceBootStartEndBlocksIdSystem
/dev/sda1*250151200083Linux
Partition1doesnotendoncylinderboundary.
/dev/sda250230720309442568eLinuxLVM
Partition2doesnotendoncylinderboundary.
disk/dev/sdb:21.5GB,21474836480bytes
64heads,20480cylinders
Units=cylindersof2048*512=1048576bytes
Sectorsize(logical/physical):512bytes/512bytes
I/Osize(minimum/optimal):512bytes/512bytes
diskidentifier:0x00000000


  2、对硬盘进行分区并创建LVM卷:

[root@iSCSI_Server ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table,nor Sun,sgi or OSF disklabel
Building a new DOS disklabel with disk identifier 0x47756356.
Changes will remain in memory only,until you decide to write them.
After that,of course,the prevIoUs content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p      # 查看分区信息

disk /dev/sdb: 21.5 GB,21474836480 bytes64 heads,128);">32
sectors/track,128);">20480 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes disk identifier: 0x47756356 Device Boot Start End Blocks Id System Command (m for help): n      #新建一个分区

Command action e extended p primary partition (1-4) e                   # 新建一个逻辑分区
 
Partition number (4): 4     # 卷标为 4

First cylinder (20480,default 1): Using default value 1Last cylinder,+cylinders or +size{K,M,G} (20480): Using 20480Command (m for help): p      # 查看信息
 
disk /dev/sdb: 0x47756356 Device Boot Start End Blocks Id System/dev/sdb4 1 20480 20971504 5 Extended Command (m for help): n      # 新建逻辑卷

Command action l logical (5 or over) p primary partition (4) l                   # 选择l,逻辑卷
 
First cylinder (for help): p      # 查看信息

disk /dev/sdb: 0x47756356 Device Boot Start End Blocks Id System
/dev/sdb4 5 Extended
/dev/sdb5 20971488 83 Linux Command (m for help): w      # 保存

The partition table has been altered!Calling ioctl() to re-read partition table. Syncing disks

[root@iSCSI_Server ~]# partprobe /dev/sdb      # 使刚才的配置立即生效
[root@iSCSI_Server ~]# fdisk -l

disk /dev/sda: 32.2 GB,32212254720 bytes
64 heads,32 sectors/track,30720 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
disk identifier: 0x000da3dc

Device Boot Start End Blocks Id System
/dev/sda1 * 2 501 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 502 30720 30944256 8e Linux LVM
Partition 2 does not end on cylinder boundary.

disk /dev/sdb: 21.5 GB,21474836480 bytes
64 heads,20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
disk identifier: 0x47756356

Device Boot Start End Blocks Id System
/dev/sdb4 1 20480 20971504 5 Extended
/dev/sdb5 1 20480 20971488 83 Linux

[root@iSCSI_Server ~]# cat /proc/partitions
major minor #blocks name
8 0 31457280 sda
8 1 512000 sda1
8 2 30944256 sda2
8 16 20971520 sdb
8 20 1 sdb4
8 21 20971488 sdb5
253 0 27795456 dm-0
253 1 3145728 dm-1

#注:看到以上标黄的信息证明已经创建逻辑卷成功!

接下来创建LVM卷


[root@iSCSI_Server ~]# pvcreate /dev/sdb5        # 创建PV
Physical volume "/dev/sdb5" successfully created
[root@iSCSI_Server ~]# vgcreate kvmvg /dev/sdb5     # 创建VG
Volume group "kvmvg" successfully created
[root@iSCSI_Server ~]# lvcreate -L 19G -n kvmlv kvmvg  # 创建LV
Logical volume "kvmlv" created.
[root@iSCSI_Server ~]# lvs                 # 查看
LV VG Attr LSize Pool Origin Data% Meta% Move Log cpy%sync Convert
lv_root VolGroup -wi-ao---- 26.51g
lv_swap VolGroup -wi-ao---- 3.00g
kvmlv kvmvg -wi-a----- 19.00g
[root@iSCSI_Server ~]#

#注:看到以上标黄的信息证明已经创建成功!


  3、安装服务端软件:scsi-target-utils

[root@iSCSI_Server~]#yum-yinstallepel-release
[root@iSCSI_Server~]#yum-yinstallscsi-target-utils.x86_64


  4、配置iSCSI服务:

[root@iSCSI_Server~]#vim/etc/tgt/targets.conf
####在40行后添加以下信息#######
<targetiqn.2017-03.com.zlyang:kvm.iscsi>
  backing-store/dev/kvmvg/kvmlv      
  initiator-address192.168.30.0/24
</target>

  注:

  iqn.2017-03.com.zlyang:kvm.iscsi : 为共享名

  iqn.2017-03.com.zlyang:kvm.iscsi  :共享卷名及路径

  initiator-address 192.168.30.0/24  :允许哪些地址访问

  5、启动服务

[root@iSCSI_Server~]# service tgtd start
[root@iSCSI_Server ~]# chkconfig tgtd on
[root@iSCSI_Server~]#netstat-tnlt|grep3260

tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN
tcp 0 0 :::3260 :::* LISTEN

  

  6、添加防火墙规则

[root@iSCSI_Server~]#iptables-IINPUT4-ptcp--dport 3260 -j ACCEPT
[root@iSCSI_Server ~]#iptables-save
[root@iSCSI_Server~]#serviceiptablessave
[root@iSCSI_Server~]#serviceiptablesrestart


三、安装Client

  因为两台Client配置几乎一样,在此以Client1为例给大家演示具体部署过程

  

  1、首先查看本地磁盘

 

[root@iSCSI_Client_1~]#fdisk-l

disk/dev/sda:32.2GB,32212254720bytes64heads,30720cylinders
Units=cylindersof2048*512=1048576bytes
Sectorsize(logical/physical):512bytes/512bytes
I/Osize(minimum/optimal):512bytes/512bytes
diskidentifier:0x000da3dc

DeviceBootStartEndBlocksIdSystem
/dev/sda1*250151200083Linux
Partition1doesnotendoncylinderboundary.
/dev/sda250230720309442568eLinuxLVM
Partition2doesnotendoncylinderboundary.

disk/dev/mapper/VolGroup-lv_root:28.5GB,28462546944bytes
255heads,63sectors/track,3460cylinders
Units=cylindersof16065*512=8225280bytes
Sectorsize(logical/physical):512bytes/512bytes
I/Osize(minimum/optimal):512bytes/512bytes
diskidentifier:0x00000000
disk/dev/mapper/VolGroup-lv_swap:3221MB,3221225472bytes
255heads,391cylinders
Units=cylindersof16065*512=8225280bytes
Sectorsize(logical/physical):512bytes/512bytes
I/Osize(minimum/optimal):512bytes/512bytes
diskidentifier:0x00000000

# 可以看出只有一块磁盘


  2、安装Client软件

[root@iSCSI_Client_1~]#yum-yinstallepel-release
[root@iSCSI_Client_1~]#yum-yinstalliscsi-initiator-utils.x86_64


  3、启动服务

[root@iSCSI_Client_1~]#serviceiscsidstart
[root@iSCSI_Client_1~]#chkconfigiscsidon




  4、发现下iSCSI服务端

[root@iSCSI_Client_1~]#iscsiadm-mdiscovery-tst-p192.168.30.133
192.168.30.133:3260,1iqn.2017-03.com.zlyang:kvm.iscsi


  5、挂载该磁盘

    a、加载磁盘

#iscsiadm-mnode-Tiqn.2017-03.com.zlyang:kvm.iscsi-p192.168.30.133-l
Logginginto[iface:default,target:iqn.2017-03.com.zlyang:kvm.iscsi,portal:192.168.30.133,3260](multiple)
Loginto[iface:default,3260]successful.
#echo"iscsiadm-mnode-Tiqn.2017-03.com.zlyang:kvm.iscsi-p192.168.30.133-l">>/etc/rc.d/rc.local"

[root@iSCSI_Client_1~]#fdisk-l
disk /dev/sdc: 20.4 GB,20401094656 bytes
64 heads,19456 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
disk identifier: 0x00000000



注:看到此信息表示已经加载成功


    b、分区格式化

[root@iSCSI_Client_1~]#mkfs.ext4/dev/sdc
mke2fs1.41.12(17-May-2010)/dev/sdcisentiredevice,notjustonepartition!
Proceedanyway?(y,n)y
Filesystemlabel=OStype:Linux
Blocksize=4096(log=2)
Fragmentsize=4096(log=2)
Stride=0blocks,Stripewidth=0blocks
1245184inodes,4980736blocks
249036blocks(5.00%)reservedforthesuperuser
Firstdatablock=0
Maximumfilesystemblocks=4294967296
152blockgroups3
2768blockspergroup,32768fragmentspergroup
8192inodespergroup
Superblockbackupsstoredonblocks:
32768,98304,163840,229376,294912,819200,884736,1605632,2654208,
4096000Writinginodetables:done
Creatingjournal(32768blocks):done
Writingsuperblocksandfilesystemaccountinginformation:done

Thisfilesystemwillbeautomaticallycheckedevery35mountsor
180days,whichevercomesfirst.Usetune2fs-cor-itooverride.
[root@iSCSI_Client_1~]#


    c、挂载到本地

[root@iSCSI_Client_1 ~]# mount /dev/sdc /mnt
[root@iSCSI_Client_1 ~]# echo "mount /dev/sdc /mnt" >> /etc/rc.d/rc.local [root@iSCSI_Client_1 ~]# df -h Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 26G 2.6G 23G 11% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 477M 52M 400M 12% /boot
/dev/sdc 19G 44M 18G 1% /mnt
[root@iSCSI_Client_1 ~]#


Client_1的所有配置已经配置完成,Client_2配置与Client_1基本相同,只是Client_2不需要再分区格式化了,直接加载及挂载就可以!


好了,部署已经全部完成,如果什么问题可以回复或发邮件到:DBA_Master@163.com

CentOS 6.5 安装部署iSCSi共享存储的更多相关文章

  1. iOS推送通知适用于Dev而不是Enterprise Distribution

    本网站上没有其他问题,我已经能够找到实际上提出了Dev将工作的原因,但企业分布不会.为什么归档总是使aps环境生产?

  2. ios – testflight库和Xcode 5没有变化现在说“ld:找不到-lTestFlight的库”

    我已经创建了几个月的应用程序,突然Xcode5不想构建它.它只是抱怨以下错误.如果我理解它可以,它会抱怨testflight,但我几周没有改变它.它完美地编译了它.我不得不说我已经尝试将AdobeADMS跟踪库添加到项目中.然后,出现链接器错误.任何提示?

  3. 如何在ios swift项目中为dev n prod使用两个不同的GoogleService-info.plist文件?

    我需要使用两个不同的GoogleService-info.plist来处理dev和prod构建,目前我只是通过在编辑方案中更改“构建配置”来分离dev和prod,但现在我需要有两个不同的.plist文件dev和prod用于处理谷歌分析,pushwoosh等,解决方法对于这种情况,您需要在Dev和Prod的项目中使用带有diffbundleid的不同Targets.之后,您可以链接GoogleSer

  4. openstack安装liberty--安装对象存储服务swift

    通常使用CACHE技術提高性能Accountservers賬戶服務,管理對象存儲中的賬戶定義。Containerservers容器服務,在對象存儲中管理容器或文件夾映……Objectservers對象服務,在存儲節點管理實際的對象,比如文件。Wsgimiddleware處理認證,通常使用OPENSTACKIdentityswiftclient為用戶提供命令行接口使用RESTAPIswift-init初始化和構建RING文件腳本swift-recon一個命令行工具,用於檢索群集的各種度量和測試信息。

  5. (Cross-)编译Swift for Raspberry PI

    Swift现在是开源的.有没有人试过编译Swift的RaspBerryPI?我开始做,但我的8GBSD卡似乎太小了;)是否可以从Ubuntu交叉编译?写Swift打开你最喜欢的文本编辑器,编写一个程序并保存它:编译它并运行它:而已!

  6. Swift 3 dev快照中的POST请求给出了“对成员’dataTask的模糊引用(with:completionHandler :)’

    编辑:我注意到有人在我之后写了这个问题的副本.这里的答案是更好的答案.使用URLRequest结构.在Xcode8中工作正常:另外,出现此错误的原因是URLSessionAPI具有相同的名称方法,但每个都采用不同的参数.因此,如果没有明确的演员,API将会混淆.我认为这是API的命名错误.发生此问题,代码如下:

  7. 针对不同环境的不同Android构建

    我希望能够构建和安装我的应用程序的多个版本(同时),针对不同的环境,如开发,暂存和生产.AndroidManifest.xml中的软件包名称似乎是这里的主要障碍,因为它是唯一标识应用程序的内容.我认为可以简单地在com.mydomain.prod,com.mydomain.staging和com.mydomain.dev之间切换或某种类似的约定,但到目前为止,我还没有运气的包装结构对于这种方法.我

  8. android – 如何在Google Play商店中打开开发者页面(market://)

    ),但我在AndroidDeveloper页面上找不到它.解决方法您只需调用market://dev?id=xxx即可例如.:我希望,这适合您的需求!

  9. 适用于Android dev的可下载字体和“Chrome已停止”错误

    作为Oreo和支持库中新的可下载字体支持的一部分,我已经开始将功能集成到我开发的应用程序中.第一个应用程序是成功的–只需几个活动的简单应用程序.第二个应用程序没有成功.添加可下载字体(基于此资源:https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts.html)后,我在启动活动时遇到此错误:该应用

  10. Android,设置Linux构建环境,libgl1-mesa-glx:i386包有未满足的依赖项

    解决方法我解决了这个问题.执行以下操作,安装除libgl1-mesa-glx:i386之外的所有软件包:安装libglapi-mesa-lts-saucy:i386而不是libgl1-mesa-glx:i386:现在您拥有正确的AOSP构建环境,并且不会丢失桌面环境.

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部