RHCE课程-初级部分2、(安装REDHAT ENTERPRISE LINUX 5.1)
安装Red Hat Linux的硬件要求如下。
CPU:Pentium以上处理器。
内存:至少128MB,推荐使用256MB以上的内存。
硬盘:至少需要1GB以上的硬盘空间,完全安装需大约5GB的硬盘空间。
显卡:VGA兼容显卡。
光驱:CD-ROM/DVD-ROM。
其他设备:如声卡、网卡和Modem等。
软驱:可选
Red Hat网站提供了经过兼容性测试和认证的“硬件兼容性列表”,在得到系统硬件设备的具体型号后,最好访问 [url]http://bugzilla.redhat.com/hwcert/[/url] 来查看用户的配置是否在清单之中
Linux支持在一台计算机中安装多个操作系统,它通过使用GRUB多重启动管理器来支持多操作系统并存,GRUB可以引导FreeBSD、OpenBSD、DOS和Windows等操作系统。计算机启动时,用户可以使用GRUB提供的菜单选择需要启动的系统,所以不必担心出现安装了Linux后,导致其他操作系统不能使用的问题。 (我们使用虚拟机安装)
Red Hat Enterprise Linux支持以下几种安装方式。
光盘安装:直接用安装光盘的方式进行安装,这种方式是最简单也是最常用的方法,推荐初学者使用。
硬盘安装:将ISO安装光盘映像文件复制到硬盘上进行安装。
网络安装:可以将系统安装文件放在Web、FTP或NFS服务器上,通过网络安装。
硬盘分区,这是一个操作系统规划的重中之重,系统以后的扩展性,和安全性都与这步很有关系。
每个硬盘上主要分为主分区(Primary Partition)、扩展分区(Extension Partition)和逻辑分区(Logical Partition)3种 。
文件系统是操作系统最为重要的一部分,它定义了磁盘上储存文件的方法和数据结构。文件系统是操作系统组织、存取和保存信息的重要手段,每种操作系统都有自己的文件系统,如Windows所用的文件系统主要有FAT16、FAT32和NTFS,Linux所用的文件系统主要有ext2、ext3和ReiserFS等。
硬盘接口
IDE接口
Linux对连接到IDE接口的硬盘使用/dev/hdx的方式命名,x的值对应于硬盘安装位置。x的值可以是a、b、c、d。
硬盘 名称
IDE1口的主盘 /dev/hda
IDE1口的从盘 /dev/hdb
IDE2口的主盘 /dev/hdc
IDE2口的从盘 /dev/hdd
SCSI接口
连接到SCSI接口的设备使用ID号进行区别,SCSI设备ID号为0~15,SCSI接口卡本身的ID号是7。Linux对连接到SCSI接口卡的硬盘使用/dev/sdx的方式命名,x的值可以是a、b、c、d等,即ID号为0的SCSI硬盘名为/dev/sda,ID号为1的SCSI硬盘名为/dev/sdb,以此类推。
LINUX对SCSI硬盘最多支持15个分区,在LINUX分区就和WINDOWS有很多区别了,WINDOWS是在分区里创建文件或者目录。而LINUX是把分区挂载到目录上。WINDOWS的DOS里有个Tree命令大家都知道吧,现在可以4下,是查看目录结构的,WINDOWS是以每个分区为根,生成的目录树. WINDOWS的目录树,是以每个盘符为根往下延伸的,而LINUX只有一个根,他就是 / .
LINUX下的所有文件都是放在 / 下的。就象我的电脑一样。在LINUX下面,所有设备都是以文件形式存在的, 在LINUX 没有设备,都是文件。 分区的分件是存放在 /dev 下面的.
谁知道H代表什么意思? H是IDE的意思哈,所有IDE设备都是以H开始的 。那SCSI硬盘呢?S代表SCSI 。USB是属于SCSI 设备的,那最后那个字符是什么意思? a b c d ,恩,是表示的硬盘号,表示第几个硬盘,第一个硬盘就是a , 第二个硬盘就是b, 依次推算。
那么我电脑的第二个硬盘的第2个分区怎么表示呢? 我的是SCSI硬盘。谁告诉我?完全的设备名称/dev/sdb2。
计算机第1个硬盘的第5个分区怎么表示?/dev/sda6。
分区为主分区(Primary Partition)、扩展分区(Extension Partition)和逻辑分区(Logical Partition)3种 ,一个硬盘的MBR(主引导记录),只有512K ,只能记录4个分区,为什么使我们能得到更多的分区,所以出现了扩展分区,我刚才的题是我的第5个分区。 已经超出了4个的极限。不管你前面3个分区是主分区还是什么东西。你要想超过4个分区,就需要有一个扩展分区,我们使用扩展分区的空间来建立逻辑分区,扩展分区就是这个功能,我们把逻辑分区的分区表存放在扩展分区里,系统可以通过扩展分区找到需要的分区。扩展分区和MBR功能一样,所以他也是不能写数据的。刚才的第4个分区就被扩展分区占用了,所以第五个分区变成了sda6
一个硬盘最多可以有4个(主+扩展)分区,其中,扩展分区只能有一个。
P+P+P+P
P+P+P+E
因1~4号己被保留,所以第1个逻辑分区的代号由5号开始,以此顺序增加到磁盘号,若未划分/dev/sda3,/dev/sda4分区,则这两个代号是空的被保留下来的代号。 逻辑分区和主分区没有关系,只与MBR的空间有关系
由于扩展分区不能写东西。所以能用的分区就要从第5个分区开始算,我电脑的第5个分区就是
sda1主分区 ------》第一个可用分区
sda2主分区 ------》第二个可用分区
sda3主分区 ------》第三个可用分区
sda4扩展分区
sda5逻辑分区 ------》第四个可用分区
sda6逻辑分区 ------》第五个可用分区
我们可以把前面4个分区全部分成主分区,但是分区后,硬盘还有多余的空间,我还想分区,你们说可以不?
我如果都划4个主分区,那你第五个分区就不能分了为, MBR不能管理, 超出了, 所以你想使你的分区比较灵活,一般会把最后一分区分正扩展分区,这样就可以随意整加分区了
硬盘的前512Byte,MBR是前446byte,447-510是DPT(Disk Partition Table)分区表.最后2位是奇偶校验,校验这个MBR和DPT是否完整.
请大家注意,备份的时候我们还是要备份前面512Byte
MBR知识点:
引导扇区在每个分区里都存在,但是我们常说的*主引导扇区*是硬盘的第一物理扇区。它由两个部分组成:即主引导记录MBR和硬盘分区表DPT。
在总共512字节的主引导分区里其中MBR占446个字节(偏移0-- 偏移1BDH),DPT占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55,AA”(偏移1FEH偏移1FFH)是分区的结束标志。大致的结构如下图:
0000 |------------------------------------------------|
| |
| |
| Main Boot Record |
| |
| |
| 主引导记录(446字节) |
| |
| |
| |
01BD | |
01BE |------------------------------------------------|
| |
01CD | 分区信息 1(16字节) |
01CE |------------------------------------------------|
| |
01DD | 分区信息 2(16字节) |
01DE |------------------------------------------------|
| |
01ED | 分区信息 3(16字节) |
01EE |------------------------------------------------|
| |
01FD | 分区信息 4(16字节) |
|------------------------------------------------|
| 01FE | 01FF |
| 55 | AA |
|------------------------------------------------|
主引导记录中包含了硬盘的一系列参数和一段引导程序。引导程序主要是用来在系统硬件自检完后引导具有激活标志的分区上的操作系统。它执行到最后的是一条JMP指令跳到操作系统的引导程序去。这里往往是引导型病毒的注入点,也是各种多系统引导程序的注入点。但是由于引导程序本身完成的功能比较简单,所以我们可以完全地判断该引导程序的合法性(看JMP指令的合法性),因而也易于修复。象命令fdisk/mbr可以修复MBR和KV300这类软件可以查杀任意类型的引导型病毒,就是这个原因。
往下来是硬盘的分区表,由4个16字节的分区信息表组成。每个信息表的结构如下:
偏移 长度 所表达的意义
0 字节 分区状态: 如0-->非活动分区
80--> 活动分区
1 字节 该分区起始头(HEAD)
2 字 该分区起始扇区和起始柱面
4 字节 该分区类型:如82--> Linux Native分区
83--> Linux Swap 分区
5 字节 该分区终止头(HEAD)
6 字 该分区终止扇区和终止柱面
8 双字 该分区起始绝对分区
C 双字 该分区扇区数
最后的两个标志“55 AA”是分区表的结束标志,如果这两个标志被修改(有些病毒就会修改这两个标志),则系统引导时将报告找不到有效的分区表。
硬盘MBR的全线分析:MBR(Main Boot Record)主引导记录区位于硬盘0磁道0柱面1扇区。
BEGIN:
0000:7C00 FA CLI 关中断
0000:7C01 33C0 XOR AX,AX 设置堆栈段地址为0000
0000:7C03 8ED0 MOV SS,AX
0000:7C05 BC007C MOV SP,7C00 设置堆栈指针为7C00(一般MBR都是先被写入这个地址的)
0000:7C08 8BF4 MOV SI,SP si=7c00
0000:7C0A 50 PUSH AX
0000:7C0B 07 POP ES ES=0000
0000:7C0C 50 PUSH AX
0000:7C0D 1F POP DS DS=0000
0000:7C0E FB STI 开中断
0000:7C0F FC CLD 清除方向
0000:7C10 BF0006 MOV DL,O600 DI=0600
0000:7C13 B90001 MOV CX,0100 移动256个word(512bytes)
0000:7C16 F2 REPNZ 把MBR从7c00移动到0600
0000:7C17 A5 MOVSW
0000:7C18 EA1D060000 JMP 0000:061D跳至0000:061d,及程序的下一条指令
NEW_LOCATION: AT 0000:0600
0000:061D BEBE07 MOV SI,07BE 指向第一个分区表的首地址
0000:0620 B304 MOV BL,04 分区个数为4
SEARCH_LOOP1: 查找活动分区的代码段
0000:0622 803C80 CMP BYTEPTR[SI],80 是否为活动分区?
0000:0625 740E JZ FOUND_ACTIVE 是,转,继续查看其它分区
0000:0627 803C00 CMP BYTE PTR[SI],00 是否为非活动分区
0000:062A 751C JNZ NOT_ACTIVE 不是,跳转,分区表出现异常
0000:062C 83C610 ADD SI,+10 增量表指针加16
0000:062F FECB DEC BL 减少计数
0000:0631 75EF JNZ SEARCH_LOOP1 继续检查四个分区中的其他分区
0000:0633 CD18 INT 18 没有找到活动分区,跳至ROM BASIC
FOUND_ACTIVE: 找到了活动分区
0000:0635 8B14 MOV DX,[SI] 保存磁头号、驱动器号到DH、DL
0000:0637 8B4C02 MOV CX,[SI+02] 保存磁道号、扇区号到CH、CL
0000:063A 8BEE MOV BP,SI 保存当前分区首地址到BP
SEARCH_LOOP2: 继续查看分区保证只有一个活动分区,且其他分区正常
0000:063C 83C610 ADD SI,+10 增量表指针加16
0000:063F FECB DEC BL 减少计数
0000:0641 741A JZ READ_BOOT 如果所有分区检查结束,开始引导
0000:0643 803C00 CMP BYTE PTR[SI],00 是否为非活动分区
0000:0646 74F4 JZ SEARCH_LOOP2 是,循环
NOT_ACTIVE: 有不止一个活动分区或有分区异常
0000:0648 BE8B06 MOV SI,068B SI指向字符串“Invailid partition table”
DISPLAY_MSG: 显示消息循环
0000:064B AC LODSB 取得消息的字符
0000:064C 3C00 CMP AL,00 判断消息的结尾
0000:064E 740B JZ HANG 显示错误信息后挂起
0000:0650 56 PUSH SI 保存SI
0000:0651 BB0700 MOV BX,0007 BL=字符颜色,BH=页号
0000:0654 B40E MOV AH,0E 显示一个字符
0000:0656 CD10 INT 10
0000:0658 5E POP SI 恢复SI
0000:0659 EBF0 JMP DISPLAY_MSG 循环显示剩下的字符
HANG: 挂起系统
0000:065B JMP HANG 死循环挂起
READ_BOOT: 读活动分区的数据
0000:065D BF0500 MOV DI,005 设置尝试的次数
INT13RTRY: int13的重试循环
0000:0660 BB0007C MOV BX,7C00 设置读盘缓冲区
0000:0663 B80102 MOV AX,0201 读入一个扇区
0000:0666 57 PUSH DI 保存DI
0000:0667 CD13 INT 13 把扇区读入0000:7c00
0000:0669 SF POP DI 恢复DI
0000:066A 730C JNB INT13OK 读扇区操作成功 CF=0
0000:066C 33C0 XOR AX,AX 读盘操作失败,硬盘复位
0000:066E CD13 INT 13
0000:0670 4F DEC DI 尝试次数减一
0000:0671 75ED JNZ INT13RTRY 剩余次数不为零,继续尝试
0000:0673 BEA306 MOV SI,06A3 si指向字符串“error loading operation system”
0000:0676 EBD3 JMP DISPLAY_MSG 显示出错信息,并挂起
INT13OK: int13 出错
0000:0678 BEC2O6 MOV SI,06C2 si指向字符串“missing operation system”
0000:067B BFFE7D MOV DI,7DFE 指向分区结束标志
0000:067E 813D55AA CMP WORD PTR[DI],AA55 标志是否正确
0000:0682 75C7 JNZ DISPLAY_MSG 不正确,显示出错信息,挂起
0000:0684 8BF5 MOV SI,BP 恢复可引导分区首地址与SI
0000:0686 EA007C0000 JMP 0000:7C00 一切正常,转分区引导记录执行
硬盘分区的命名
Linux硬盘分区的命名
Linux使用设备名称+分区号码标明硬盘的各个分区,对于主分区(或扩展分区)分区号码的编号为1~4,逻辑分区的分区号码编号从5开始
要想知道怎么规划合理,你就要知道LINUX /下的哪写文件有什么用处。
第一个
BIN,主要是存放普通用户的可执行命令。建议和/放在一起,不单独分出来
第二个
DEV , 是系统设备文件存放位置,比如我们刚才的分区,建议和/放在一起,不单独分出来
第三个
HOME,是普通用户的家目录,很多文件服务器都会用到用户的家目录存放资料,所以建议单独分区, 而且还有一个好处, 如果你系统坏了,实在不能用了,需要从新安装系统。你单独分出了home分区,里面的东西可以在安装好系统后,从新挂载进系统。就不会出现重要数据丢失的问题
lost+found 分区的文件碎片,没个分区都有 一般不用管这目录
misc 自动挂载服务需要的的目录,建议和 /放一起
net 目录我平时都没注意,是个空目录。一般不会使用
proc 目录里的东西就是现在内存中的东西。不会占用硬盘空间,不须要单独分区
sbin 目录,是超级管理员的可执行文件存放目录
tmp 临时文件目录,不需要单独分出来
var 是很多服务器 文件使用的目录,建议单独分区。
boot 存放GRUB(启动装载程序)和内核的文件 强烈建议单独分成第一个主分区, 这样系统启动不了,比较容易排除故障
etc 大部分配置文件的存放目录。 虽然重要但是不大,但是一定要和/放一起,因为启动的时候需要读取里面的配置文件, 这个是不能单独分出去的。
lib 系统和可执行程序的库文件。 和/放一起
media 和mnt 也是挂载光驱和其他设备用的,和/放一起
root 超级用户的家目录,里面一般没什么东西,可以和/放一起
selinux 增强性安全LINUX,和usr 部分用户安装文件存放目录。也和/放一起
出与安全行和扩展性考虑我们会分出4个分区: /boot,,/,/home,/var
var和home目录是看你服务器性质而定。 一般把剩余空间全部分配给他们
安装Linux时,需要在硬盘建立Linux使用的分区,在大多情况下,至少需要为Linux建立以下3个分区。
/boot分区:/boot分区用于引导系统,它包含了操作系统的内核和在启动系统过程中所要用到的文件,该分区的大小一般为100MB。
swap分区:swap分区的作用是充当虚拟内存,其大小通常是物理内存的两倍左右(当物理内存大于512MB时,swap分区为512MB即可)。例如物理内存是128MB,那么swap分区的大小应该是256MB。
/(根)分区:Linux将大部分的系统文件和用户文件都保存在/(根)分区上,所以该分区一定要足够大,一般要求大于5GB。
如果以上知识你都会了,那么安装LINUX对您来说就象切菜一样简单了。
登陆LINUX操作系统有几种方式?从本地登陆叫做控制台, 网络登陆的叫做终端, 就这两种方式。图形界面就是一个控制台,而且我们还可以通过 CTRL+ALT+F(1-6)切换到虚拟控制台, CTRL+ALT+F7 就是切换回图形界面, 在登陆的时候需要输入用户名和密码。 地球人都知道, 虚拟终端都是CLI的, CLI=字符界面
当用户登陆后,所在的目录是在自己的家目录当中,
[root@stationXX etc]#
[当前用户名@主机名 当前目录]
提示符因用户而异
home目录是用户登入系统后即所在的默认目录
谁告诉我上面的主机名字是什么?
stationXX, 注意 LINUX是严格区分大小写的, 所以 在打命令和写脚本,写配置文件的时候,一定要注意大小写
#和$有什么不同?
# 只有root 进去的才是这个标志
就算其他用户通过sudo或者怎么得到超级权限的还是$,#是一种身份的象征的哈。在CISCO的 IOS系统中都是用的#标志
主菜上来了:
运行VM
出现这个向导,点下一步,选择典型,默认也是典型
下一步,选择LINUX,版本选择Red Hat Enterprise Linux5
输入虚拟机名字及存放位置
注意:放虚拟文件的分区至少要10G以上剩余空间
下一步,选择默认的桥接网络
下一步,虚拟机分配硬盘空间,我们都用30G吧,下面的分页文件大小2G的,要选中,完成了。
如果你物理机器内寸是1G或者以上的,分512给虚拟机。如果物理机是512的,分256就可以了
下面点CD-ROM,点使用ISO镜象,把你们的RHEL5放进去
三角符号,是启动的意思
这样我们就到了RHEL5安装界面,点回车是以图形截面安装,输入linux text是用CLI安装
这里我们选语言为英语,如果选中文的话,在CLI状态下会出现中文乱码的情况
这里选美式键盘US
这里可以输入RHEL5.1的序列号,也可以跳过不填,对安装应用没关系。
SKIP跳过
提示要初始化硬盘,选YES继续。
这里分区我们选择自定义
我们进行硬盘分区:
New 就是建立新的分区
EDIT 就是更改已有的分区
DELETE 就是删除已建立的分区
RESET 就是把你刚才的设定全部取消。恢复到现在的样子
RAID 是磁盘阵列
LVM 是逻辑卷
RAID知识点:
RAID0、RAID1、RAID0+1、RAID5原理介绍
RAID是通过磁盘阵列与数据条块化方法相结合, 以提高数据可用率的一种结构。IBM早于1970年就开始研究此项技术 。RAID 可分为RAID级别1到RAID级别6, 通常称为: RAID 0, RAID 1, RAID 2, RAID 3,RAID 4,RAID 5,RAID6。每一个RAID级别都有自己的强项和弱项. “奇偶校验”定义为用户数据的冗余信息, 当硬盘失效时, 可以重新产生数据。
RAID 0: RAID 0 并不是真正的RAID结构, 没有数据冗余。 RAID 0 连续地分割数据并并行地读/写于多个磁盘上。 因此具有很高的数据传输率。 但RAID 0在提高性能的同时,并没有提供数据可靠性,如果一个磁盘失效, 将影响整个数据.因此RAID 0 不可应用于需要数据高可用性的关键应用。
RAID 1: RAID 1通过数据镜像实现数据冗余, 在两对分离的磁盘上产生互为备份的数据。 RAID 1可以提高读的性能,当原始数据繁忙时, 可直接从镜像拷贝中读取数据.RAID 1是磁盘阵列中费用最高的, 但提供了最高的数据可用率。当一个磁盘失效, 系统可以自动地交换到镜像磁盘上, 而不需要重组失效的数据。
RAID 2: 从概念上讲, RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节。然而RAID 2 使用称为“加重平均纠错码”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息, 使得RAID 2技术实施更复杂。 因此,在商业环境中很少使用。
RAID 3:不同于RAID 2, RAID 3使用单块磁盘存放奇偶校验信息。 如果一块磁盘失效, 奇偶盘及其他数据盘可以重新产生数据。 如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率, 但对于随机数据, 奇偶盘会成为写操作的瓶颈。
RAID 4: 同RAID 2, RAID 3一样, RAID 4, RAID 5也同样将数据条块化并分布于不同的磁盘上, 但条块单位为块或记录。 RAID 4使用一块磁盘作为奇偶校验盘, 每次写操作都需要访问奇偶盘, 成为写操作的瓶颈。 在商业应用中很少使用。
RAID 5:RAID 5没有单独指定的奇偶盘, 而是交叉地存取数据及奇偶校验信息于所有磁盘上。 在RAID5 上, 读/写指针可同时对阵列设备进行操作, 提供了更高的数据流量。 RAID 5更适合于小数据块,随机读写的数据.RAID 3与RAID 5相比, 重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说, 大部分数据传输只对一块磁盘操作, 可进行并行操作。在RAID 5中有“写损失”, 即每一次写操作,将产生四个实际的读/写操作, 其中两次读旧的数据及奇偶信息, 两次写新的数据及奇偶信息。
RAID 6:RAID 6 与RAID 5相比,增加了第二个独立的奇偶校验信息块。 两个独立的奇偶系统使用不同的算法, 数据的可靠性非常高. 即使两块磁盘同时失效,也不会影响数据的使用。 但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”。RAID 6 的写性能非常差, 较差的性能和复杂的实施使得RAID 6很少使用。
RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能
RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
RAID0+1:正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10。
RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。
由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。
RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。
LVM知识点:
每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。
虽然现在有很多动态调整磁盘的工具可以使用,例如Partation Magic等等,但是它并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解决问题。
因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。幸运的是Linux提供的逻辑盘卷管理(LVM,Logical Volume Manager)机制就是一个完美的解决方案。
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
LVM基本术语
LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。下面是几个LVM术语:
- 物理存储介质(The physical media)
这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
- 物理卷(physical volume)
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
- 卷组(Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
- 逻辑卷(logical volume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
- PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB