- 浏览: 1843230 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (665)
- 闲话 (17)
- ruby (1)
- javascript (40)
- linux (7)
- android (22)
- 开发过程 (11)
- 哥也读读源代码 (13)
- JVM (1)
- ant (2)
- Hibernate (3)
- jboss (3)
- web service (17)
- https (4)
- java基础 (17)
- spring (7)
- servlet (3)
- 杂记 (39)
- struts2 (10)
- logback (4)
- 多线程 (2)
- 系统诊断 (9)
- UI (4)
- json (2)
- Java EE (7)
- eclipse相关 (4)
- JMS (1)
- maven (19)
- 版本管理 (7)
- sso (1)
- ci (1)
- 设计 (18)
- 戒烟 (4)
- http (9)
- 计划 (4)
- HTML5 (3)
- chrome extensions (5)
- tomcat源码阅读 (4)
- httpd (5)
- MongoDB (3)
- node (2)
最新评论
-
levin_china:
勾选了,还是找不到
用spring annotation声明的bean,当打包在jar中时,无法被扫描到 -
GGGGeek:
我用的maven-3.5.0,还没有遇到这种情况,使用jar ...
用spring annotation声明的bean,当打包在jar中时,无法被扫描到 -
GGGGeek:
受益匪浅,从组织项目结构,到技术细节,讲的很到位,只是博主不再 ...
一个多maven项目聚合的实例 -
Aaron-Joe-William:
<?xml version="1.0" ...
hibernate逆向工程 -
li272355201:
http://archive.apache.org/dist/ ...
tomcat源码阅读(一)——环境搭建
以前主要都在搞应用开发,对硬件和网络接触很少。这次出差玩了一下硬件,机会难得。虽然依然所知甚少,还是尽量记录一下
一、存储
我以前对存储的理解仅限于硬盘,感觉服务器的存储跟PC存储的区别也就是大一些快一些,现在知道还是很有讲究
这里的机房,服务器有刀片和IBM x3850,这次预研用的是刀片。配置是8核CPU,48G内存,自带200G硬盘。200G空间当然是相当少了,速度和稳定性也不行,所以是有专门的存储设备
刀片放在机框里(一框12片),存储则是在单独的机框里,两个机框通过光纤连起来(有的在一个机柜,有的不在)
每个存储机框里有24块硬盘,每块硬盘600G。然后机框有一个专门的存储控制器,并有配套的管理软件,专门用来管理存储。然后刀片上的自带的200G空间基本就不用了,只用来放点安装包什么的
二、组RAID
接下来从硬盘中选出几块来组成RAID(磁盘阵列,简称磁阵)
RAID也有好几种,0,1,5,目前只知道RAID0就是空间简单叠加,RAID1就是互备冗余,RAID5比较复杂,好像是专门有一块硬盘用来管理,其他的几块叠加。不是很了解,暂时也不深究
我是把6块硬盘组成了一个1:5的RAID5,所以总空间就是3000G(600*5)。在逻辑上就看做是一个单独的磁阵,6块物理硬盘从上层看是透明的。这里专门问了下管理员,他说6块硬盘都来自同一个机框,这种方式其实不太好。因为如果这个机框掉电了,整个磁阵就不能用了。但是因为我们用的存储产品比较低端,如果跨机框的话,速度和稳定性都无法保证,所以还是选了同一个机框的硬盘。以前他用过EMC的高端存储,一般RAID中的硬盘,都是从不同的机柜来的,这样就算其中一个机柜掉电了,整个RAID依然可以工作
接下来这个磁阵不能直接给服务器使用,而是先要划分成LUN(Logical Unit Number),划分LUN的数量和空间则没有特别的限制。比如把整个RAID就分成1个LUN也是可以的。不过linux文件系统本身有要求,一个LUN只能mount到一个分区下,所以如果操作系统有多个分区,就需要有多个LUN才行
不过下面会提到,我这次是预研虚拟化部署,所以我今天的做法是把一个LUN给到一个物理机,然后这个物理机又会分出多个虚拟机,并且虚拟机装操作系统时也会有多个分区。所以实际上,我觉得LUN也是可以再继续分的。看来只是linux文件系统的限制而已,而不是LUN自身不可再分
三、划分LUN,映射到服务器
上面我就得到了一个3000G的RAID,由于我打算给3台服务器用,也没什么经验,我就直观上把这个RAID分成了3个1000G的LUN,分别分配给3台服务器。所以每个LUN都是独占的,不是服务器共享的
具体的步骤是:
创建3个LUN,分别命名为VM_LUN_1,VM_LUN_2,VM_LUN_3(全是1000G);
然后在存储管理软件里,创建3个HOST_GROUP,分别命名为VM_HOST_GROUP1,VM_HOST_GROUP2,VM_HOST_GROUP3。这里的HOST_GROUP是主机组,是一个逻辑的概念,用来表示一组服务器的集合,并不是物理上的概念
然后同样在存储管理软件里,创建3个HOST,分别命名为VM_HOST1,VM_HOST2,VM_HOST3,用来表示我的3台服务器。这里的HOST同样也是逻辑的概念,不过和物理服务器是一一对应的,可以认为就等同于服务器
然后把上面创建的VM_HOST1放到VM_HOST_GROUP1里,2和3类似。最后就得到了3个主机组,里面分别只有一台主机
接下来把VM_LUN_1“映射”到VM_HOST_GROUP1上,2和3类似。这样主机组1号里的主机,就全部能够看到LUN1号了,但是由于这个主机组里实际上只有一台服务器,所以这个LUN就变成独占的了。如果主机组里有多台服务器,这个LUN就是共享的。这里可以看到,LUN是映射到主机组,而不是直接映射到服务器上的。不知道这是一个公共的做法,还是我们的存储产品特有的设计
最后一步是设置“启动器”,每个刀片上有2个FC(Fiber Channel),在操作系统里可以查到FC对应的WWN(World Wide Name),然后在存储管理软件里,将LUN的“启动器”映射到FC上,这里需要映射2次(因为每个刀片有2个FC),好像是为了双通道。但是这是因为我的LUN是独占的,如果LUN是2台服务器共享的,那么就需要映射4次(各2次)
完成了上述步骤之后,需要重启服务器,或者用什么linux命令刷新一下存储设备,刚挂载上来的LUN就可以看见了。之后就可以视为本地硬盘一样的使用,不需要关心它是真的本地硬盘,还是网络上的逻辑存储设备
四、创建“数据存储”,及创建虚拟机
然后在虚拟机的Hypervisor client上,创建“数据存储”。这次我们用的虚拟化平台,不能直接使用存储设备,而是要先把存储设备变成“数据存储”,然后才能使用。一个LUN可以变成一个“数据存储”。所以我这里每台主机,都有一个独占的“数据存储”
接下来创建虚拟机,其中有一步会选择使用哪个“数据存储”,然后选择分配其中的多少空间给这个虚拟机。我打算一台服务器虚拟化成4个虚拟机,所以每个虚拟机就得到了250G的空间,在一个LUN上
五、遗留问题
如果只是配置存储的话,到这里就结束了。但是由于我这次是预研产品的虚拟化部署,用到了虚拟机,所以这里就还有一个问题。因为虚拟机有一个“迁移”的特性:某虚拟机原本是在主机A上创建的,后来由于主机A硬件故障,需要将虚拟机迁移到主机B上。这个特性我觉得有一个要求,就是主机A和主机B应该是共享存储的,这样迁移的成本就很低。否则的话,按照我目前上面的配置,主机A和主机B使用的存储是分别独占的,那迁移就必须把虚拟机对应的文件从存储A拷贝到存储B上才行,性能肯定比共享存储差很多
所以现在我怀疑我的配置应该是错了,我应该把现在的3台主机都放到一个HOST_GROUP里,然后所有的LUN(1个或多个,好像差不多)都映射到这个唯一的HOST_GROUP上。这样存储是共享的,才能支撑未来虚拟机迁移的场景
回忆了一下,我确定存储产品是支持这样配置的,但是还需要hypervisor client也支持才行。印象中在创建“数据存储”的时候,需要指定从某一个主机创建,并没有独立于主机创建的选项。如果按照上面我设想的配置方法,如果“数据存储”是在主机A上创建的,那当我想在主机B上创建虚拟机的时候,似乎就选不到这个“数据存储”了,因为client好像限制了虚拟机和“数据存储”必须在同一台主机。听起来十分愚蠢,不过我很怕这个虚拟化平台产品它就是真有这么蠢
一、存储
我以前对存储的理解仅限于硬盘,感觉服务器的存储跟PC存储的区别也就是大一些快一些,现在知道还是很有讲究
这里的机房,服务器有刀片和IBM x3850,这次预研用的是刀片。配置是8核CPU,48G内存,自带200G硬盘。200G空间当然是相当少了,速度和稳定性也不行,所以是有专门的存储设备
刀片放在机框里(一框12片),存储则是在单独的机框里,两个机框通过光纤连起来(有的在一个机柜,有的不在)
每个存储机框里有24块硬盘,每块硬盘600G。然后机框有一个专门的存储控制器,并有配套的管理软件,专门用来管理存储。然后刀片上的自带的200G空间基本就不用了,只用来放点安装包什么的
二、组RAID
接下来从硬盘中选出几块来组成RAID(磁盘阵列,简称磁阵)
RAID也有好几种,0,1,5,目前只知道RAID0就是空间简单叠加,RAID1就是互备冗余,RAID5比较复杂,好像是专门有一块硬盘用来管理,其他的几块叠加。不是很了解,暂时也不深究
我是把6块硬盘组成了一个1:5的RAID5,所以总空间就是3000G(600*5)。在逻辑上就看做是一个单独的磁阵,6块物理硬盘从上层看是透明的。这里专门问了下管理员,他说6块硬盘都来自同一个机框,这种方式其实不太好。因为如果这个机框掉电了,整个磁阵就不能用了。但是因为我们用的存储产品比较低端,如果跨机框的话,速度和稳定性都无法保证,所以还是选了同一个机框的硬盘。以前他用过EMC的高端存储,一般RAID中的硬盘,都是从不同的机柜来的,这样就算其中一个机柜掉电了,整个RAID依然可以工作
接下来这个磁阵不能直接给服务器使用,而是先要划分成LUN(Logical Unit Number),划分LUN的数量和空间则没有特别的限制。比如把整个RAID就分成1个LUN也是可以的。不过linux文件系统本身有要求,一个LUN只能mount到一个分区下,所以如果操作系统有多个分区,就需要有多个LUN才行
不过下面会提到,我这次是预研虚拟化部署,所以我今天的做法是把一个LUN给到一个物理机,然后这个物理机又会分出多个虚拟机,并且虚拟机装操作系统时也会有多个分区。所以实际上,我觉得LUN也是可以再继续分的。看来只是linux文件系统的限制而已,而不是LUN自身不可再分
三、划分LUN,映射到服务器
上面我就得到了一个3000G的RAID,由于我打算给3台服务器用,也没什么经验,我就直观上把这个RAID分成了3个1000G的LUN,分别分配给3台服务器。所以每个LUN都是独占的,不是服务器共享的
具体的步骤是:
创建3个LUN,分别命名为VM_LUN_1,VM_LUN_2,VM_LUN_3(全是1000G);
然后在存储管理软件里,创建3个HOST_GROUP,分别命名为VM_HOST_GROUP1,VM_HOST_GROUP2,VM_HOST_GROUP3。这里的HOST_GROUP是主机组,是一个逻辑的概念,用来表示一组服务器的集合,并不是物理上的概念
然后同样在存储管理软件里,创建3个HOST,分别命名为VM_HOST1,VM_HOST2,VM_HOST3,用来表示我的3台服务器。这里的HOST同样也是逻辑的概念,不过和物理服务器是一一对应的,可以认为就等同于服务器
然后把上面创建的VM_HOST1放到VM_HOST_GROUP1里,2和3类似。最后就得到了3个主机组,里面分别只有一台主机
接下来把VM_LUN_1“映射”到VM_HOST_GROUP1上,2和3类似。这样主机组1号里的主机,就全部能够看到LUN1号了,但是由于这个主机组里实际上只有一台服务器,所以这个LUN就变成独占的了。如果主机组里有多台服务器,这个LUN就是共享的。这里可以看到,LUN是映射到主机组,而不是直接映射到服务器上的。不知道这是一个公共的做法,还是我们的存储产品特有的设计
最后一步是设置“启动器”,每个刀片上有2个FC(Fiber Channel),在操作系统里可以查到FC对应的WWN(World Wide Name),然后在存储管理软件里,将LUN的“启动器”映射到FC上,这里需要映射2次(因为每个刀片有2个FC),好像是为了双通道。但是这是因为我的LUN是独占的,如果LUN是2台服务器共享的,那么就需要映射4次(各2次)
完成了上述步骤之后,需要重启服务器,或者用什么linux命令刷新一下存储设备,刚挂载上来的LUN就可以看见了。之后就可以视为本地硬盘一样的使用,不需要关心它是真的本地硬盘,还是网络上的逻辑存储设备
四、创建“数据存储”,及创建虚拟机
然后在虚拟机的Hypervisor client上,创建“数据存储”。这次我们用的虚拟化平台,不能直接使用存储设备,而是要先把存储设备变成“数据存储”,然后才能使用。一个LUN可以变成一个“数据存储”。所以我这里每台主机,都有一个独占的“数据存储”
接下来创建虚拟机,其中有一步会选择使用哪个“数据存储”,然后选择分配其中的多少空间给这个虚拟机。我打算一台服务器虚拟化成4个虚拟机,所以每个虚拟机就得到了250G的空间,在一个LUN上
五、遗留问题
如果只是配置存储的话,到这里就结束了。但是由于我这次是预研产品的虚拟化部署,用到了虚拟机,所以这里就还有一个问题。因为虚拟机有一个“迁移”的特性:某虚拟机原本是在主机A上创建的,后来由于主机A硬件故障,需要将虚拟机迁移到主机B上。这个特性我觉得有一个要求,就是主机A和主机B应该是共享存储的,这样迁移的成本就很低。否则的话,按照我目前上面的配置,主机A和主机B使用的存储是分别独占的,那迁移就必须把虚拟机对应的文件从存储A拷贝到存储B上才行,性能肯定比共享存储差很多
所以现在我怀疑我的配置应该是错了,我应该把现在的3台主机都放到一个HOST_GROUP里,然后所有的LUN(1个或多个,好像差不多)都映射到这个唯一的HOST_GROUP上。这样存储是共享的,才能支撑未来虚拟机迁移的场景
回忆了一下,我确定存储产品是支持这样配置的,但是还需要hypervisor client也支持才行。印象中在创建“数据存储”的时候,需要指定从某一个主机创建,并没有独立于主机创建的选项。如果按照上面我设想的配置方法,如果“数据存储”是在主机A上创建的,那当我想在主机B上创建虚拟机的时候,似乎就选不到这个“数据存储”了,因为client好像限制了虚拟机和“数据存储”必须在同一台主机。听起来十分愚蠢,不过我很怕这个虚拟化平台产品它就是真有这么蠢
评论
1 楼
kyfxbl
2013-09-06
补充:
1、今天又看了下,配置硬件存储的时候,LAN不一定要映射到host group,直接映射到host上也是可以的
所以host group只是为了共享存储而存在的逻辑概念,如果不打算要共享存储的话,就不需要建host group,只要建host就可以了
像原文那样建只包含一个host的host group,是不好的做法
2、跨操作系统共享LUN,会存在IO冲突的问题,这个是通过操作系统FS来协调处理的。对于hipervisor来说,是由虚拟机平台的FS来处理,比如VMware,有自己的VMFS,来解决这个问题
遗留问题答复:
我现在手头的这个虚拟化平台,当前版本不支持虚拟机迁移,所以说宿主机共享存储是没意义的。因此给每个宿主机分配独占的LUN就可以了
1、今天又看了下,配置硬件存储的时候,LAN不一定要映射到host group,直接映射到host上也是可以的
所以host group只是为了共享存储而存在的逻辑概念,如果不打算要共享存储的话,就不需要建host group,只要建host就可以了
像原文那样建只包含一个host的host group,是不好的做法
2、跨操作系统共享LUN,会存在IO冲突的问题,这个是通过操作系统FS来协调处理的。对于hipervisor来说,是由虚拟机平台的FS来处理,比如VMware,有自己的VMFS,来解决这个问题
遗留问题答复:
我现在手头的这个虚拟化平台,当前版本不支持虚拟机迁移,所以说宿主机共享存储是没意义的。因此给每个宿主机分配独占的LUN就可以了
发表评论
-
classloader举个例子
2013-09-23 22:13 1213今天下午被一个同事问起,什么情况下需要用到ContextCla ... -
关于网络分层,和网络安全的一些总结
2013-08-03 22:25 1368最近半个月,把《计算机网络》看完了 看完主要有一个疑问,就是 ... -
虚拟化的价值
2013-07-26 02:53 1131虚拟化技术的萌芽非常早。在大型机时代,一台硬件只能同时运行一个 ... -
Base64
2013-07-16 00:07 1642Base64是一种编码的算法 ... -
域名与主机名
2013-07-08 00:55 1312域名是domain name 主机名是hostname qq ... -
oracle实例、schema,以及多租户方案
2013-06-28 22:15 5264写这篇博客的起源,是 ... -
好帖转载
2013-06-27 14:37 1072公式引擎重写:http://damienkatz.net/20 ... -
关于分布式和集群,再补充2句
2013-06-18 00:31 1459一、分布式定义 今晚翻论坛,想看看别人是怎么说的,一路把20 ... -
为什么要用多线程
2013-06-17 22:01 6677以前我认为多线程的作 ... -
集群、分布式、性能
2013-06-15 14:41 1281性能是一个多方面综合的结果,遵循短板理论。系统中任何一个部分成 ... -
在浏览器里启动本地应用
2013-03-04 17:15 3236受限于javascript的安全问题,一般来说在浏览器里是不允 ... -
什么是SPI
2013-02-02 06:39 1628我理解SPI就是一种“服务发现机制” 很多规范里,都既包括A ... -
设置与查询事务隔离级别
2013-01-23 23:46 1558详情见:http://xm-king.iteye.com/bl ... -
事务小结
2013-01-23 22:01 1212最近在看jdbc specification,昨天刚看到cha ... -
api和spi,oracle的jdbc驱动为什么不开源
2013-01-22 06:03 2197今天下班后在看jdbc的规范,一不小心又走神,胡思乱想起来 ... -
系统集成的2种方式
2013-01-22 05:44 1462我以前是不是写过一篇类似的东西,说系统集成的 今天做一个别的 ... -
关于JCP
2013-01-22 05:04 1382今天上JCP去下载jdbc的规 ... -
JAVA平台几个主要的开源组织
2012-12-29 08:03 1361apache基金会,这个最有名,应该谁都知道了 eclips ... -
我对协议的理解
2012-12-05 07:12 1160今天工作进展不佳~~回来路上还在胡思乱想,突然想到一个对“协议 ... -
下载tomcat时的一个细节问题
2012-10-30 16:07 1256在apache的tomcat下载页面上,可以看到有2个不同的链 ...
相关推荐
"IBM V5000存储配置" IBM V5000 存储配置是 IBM 公司开发的一款企业级存储解决方案,旨在满足中大型企业的数据存储需求。通过本文档,我们将对 IBM V5000 存储配置进行详细的说明,帮助用户快速上手使用 IBM V5000...
《同有存储配置文档》是针对同有科技的存储解决方案提供的一份技术指南,主要涵盖了基本的命令行配置流程,旨在帮助用户理解存储阵列如何与服务器进行连接,并且通过实际操作来熟悉这一过程,为扩展到其他存储产品...
### HP存储配置文档知识点详解 #### 一、HP服务器磁盘阵列配置基础概念 - **磁盘阵列**:磁盘阵列是一种通过将多个物理磁盘组合在一起以提高性能或提供数据冗余的技术。它能够提升数据访问速度、增强数据保护能力...
联想ThinkSystem DE系列存储配置教程 联想ThinkSystem DE系列存储配置教程是联想提供的存储配置解决方案,旨在帮助用户快速配置存储系统。本教程涵盖了DE系列存储的基本配置、池和卷组的创建、工作负载的定义、卷的...
iBMv3700存储配置操作详细步骤详细截图 iBMv3700存储配置操作是指在iBMv3700存储设备上进行的配置和设置操作,以便将存储设备与计算机进行连接和数据交换。下面是iBMv3700存储配置操作的详细步骤和截图: 步骤1:...
华为2200T存储配置步骤的知识点包括如下几个方面: 1. OceanStor2200V3&2600V3存储系统概述:OceanStorV3系列是华为技术有限公司为大中型企业用户开发的新一代存储产品,旨在满足用户对于性能、效率、数据安全、...
IBM V3700 存储配置操作详细步骤 本文档将详细介绍 IBM V3700 存储配置的操作步骤,旨在帮助读者快速掌握 V3700 存储系统的配置过程。下面是_configuration_操作步骤的详细介绍: 步骤 1:退出杀毒软件 在进行 ...
宇视云存储配置手册宇视云存储配置手册宇视云存储配置手册宇视云存储配置手册
.ibm v3700 磁阵存储配置操作详细步骤 IBM v3700 磁阵存储配置操作是指在 IBM v3700 磁阵存储系统中进行的配置和设置操作,以便实现磁阵存储的正常工作。本文档将详细介绍 IBM v3700 磁阵存储配置操作的详细步骤,...
"IBM V3700 磁阵存储配置操作详细步骤文档" 本文档旨在指导用户完成 IBM V3700 磁阵存储的配置操作,确保用户能够正确地配置磁阵存储系统。本文档将详细介绍配置操作的每一个步骤,包括准备工作、U 盘的插入和拔除...
DellEMC PowerVault ME4 简明存储配置手册 DellEMC PowerVault ME4 存储设备是 DellEMC 公司的一款企业级存储解决方案,该设备具有高性能、可靠性和灵活性,广泛应用于数据中心、云计算和虚拟化环境中。以下是 ME4 ...
"CentOS 上 iSCSI+Multi-Path 多路径存储配置手册" 本手册主要介绍了在 CentOS 操作系统上配置 iSCSI+Multi-Path 多路径存储的步骤和方法。下面是相关知识点的总结: iSCSI 协议 iSCSI(Internet Small Computer ...
EMC 存储配置指导手册 EMC 存储配置指导手册是 EMC 公司提供的一份详细的存储配置指南,该手册涵盖了从基本的存储配置到高级的 RAID 组配置等多个方面的内容。 一、基本配置 1. 搭建笔记本把握台 要搭建笔记本...
在进行IBM V3700的存储配置时,了解并掌握详细的操作步骤至关重要,这有助于确保系统的正确安装和高效运行。下面将详细阐述配置过程中涉及的关键知识点。 1. **系统初始化**:首先,你需要启动IBM V3700存储设备,...
IBM DS3400存储配置 IBM DS3400存储配置是一个综合性存储解决方案,旨在提供高效、可靠的存储服务。以下是该存储配置的详细知识点: 一、存储配置的基本概念 存储配置是指将存储设备连接到服务器或计算机上,以便...
OceanStor ISM华为存储配置工具 存储产品线的产品类型丰富,功能强大,此模拟器为ISMV1R5支持的设备类型: S5500T/S2600T/S5600T/S5800T/S6800T/S5300/S2600/S5500/S5600/S6800E/N8000/S8000/Dorado/VIS 功能简介:...