3·RHCSA分区、lvm、swap

来源:互联网 发布:西门子plc300仿真软件 编辑:程序博客网 时间:2024/05/01 22:56

1)因为默认我们机器没有官方环境,首先我们关机,添加一块10G的硬盘
2)部署默认环境:1个原有的lvm分区,两个默认的主分区

[root@localhost ~]# fdisk /dev/vdbCommand (m for help): n         //新建 Partition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): p       //主分区Partition number (1-4, default 1): 1        //分区号First sector (2048-20971519, default 2048):     //起始柱面Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M      //结束位置Partition 1 of type Linux and of size 200 MiB is set Command (m for help): n     //新建Select (default p): p           //主分区Partition number (2-4, default 2): 2        //分区号First sector ......:        //起始位置Last sector ......:+2000M       //结束位置Partition 1 of type Linux and of size 2 GiB is set Command (m for help): n     //新建Select (default p): p           //主分区Partition number (2-4, default 2): 3        //分区号First sector ......:        //起始位置Last sector ......:+1000M       //结束位置Partition 1 of type Linux and of size 1000 MiB is set Command (m for help): t     //设置分区标示Partition number (1-3, default 3): 1        //第一个分区Hex code (type L to list all codes): 8e     //标记为LVMChanged type of partition 'Linux' to 'Linux LVM'Command (m for help): p     //查看分区结果Command (m for help): w     //保存并且退出[root@localhost ~]# partprobe /dev/vdb     //重新加载分区表[root@localhost ~]# vgcreate systemvg /dev/vdb1        //创建卷组Physical volume "/dev/vdb1" successfully created    Volume group "systemvg" successfully created[root@localhost ~]# lvcreate -n vo -L 196M systemvg        //创建逻辑卷 大小为196MLogical volume "vo" created[root@localhost ~]# mkfs.ext3 /dev/systemvg/vo     //格式化逻辑卷分区[root@localhost ~]# mkdir /vo      //创建挂载目录[root@localhost ~]# mount /dev/systemvg/vo /vo     //将卷组挂载到目录[root@localhost ~]#df -h /vo       //查遍文件系统用量

3)默认配置完成,分区卷扩容、自定卷组、交换分区
3-1)调整逻辑卷大小

[root@localhost ~]#fdisk /dev/vdb Command (m for help): nPartition type:p primary (3 primary, 0 extended, 1 free)e   extendedSelect (default e): e           //新建扩展分区Selected partition 4            //分区号First sector (6555648-20971519, default 6555648): Last sector, +sectors or +size{K,M,G} .. ..):Command (m for help): n     //新建500M的卷扩容分区First sector (6557696-20971519, default 6557696): Last sector, +sectors or +size{K,M,G} .. ..):+500M Partition 5 of type Linux and of size 500 MiB is setCommand (m for help): n     //新建2000M的自定义卷组First sector (7583744-20971519, default 7583744): Last sector, +sectors or +size{K,M,G} .. ..):+2000M Partition 6 of type Linux and of size 2 GiB is setCommand (m for help): n     //新建512M的交换分区First sector (7583744-20971519, default 7583744): Last sector, +sectors or +size{K,M,G} .. ..):+512M Partition 6 of type Linux and of size 512 MiB is setCommand (m for help): p     //查看分区结果Command (m for help): w     //保存分区更改[root@localhost ~]#partprobe /dev/vdb      //重新加载分区表[root@localhost ~]#reboot          //重启[root@localhost ~]#lvscan          //查看原有逻辑卷的大小[root@localhost ~]#vgextend systemvg /dev/vdb5         //扩容卷组[root@localhost ~]#lvextend -L 300MiB /dev/systemvg/vo         //扩容逻辑卷[root@localhost ~]#resize2fs /dev/systemvg/vo      //更新逻辑卷的大小

3-2)添加一个逻辑分区

[root@localhost ~]#mkswap /dev/vdb7        //创建swap[root@localhost ~]#vim /etc/fstab          //添加进入开机默认挂载/dev/vdb7   swap    swap    defaults     0 0        [root@localhost ~]#swapon -a               //启动swap[root@localhost ~]#swapon -s               //查看交换分区的使用情况

3-3)创建一个逻辑卷

[root@localhost ~]#vgcreate -s 16Mib datastore /dev/vdb6       //创建卷组块为16M[root@localhost ~]#lvcreate -l 50 -n database datastore            //创建逻辑卷为50个扩展单元[root@localhost ~]#mkfs.ext3 /dev/datastore/database           //格式化逻辑卷[root@localhost ~]#mkdir /mnt/database         //创建挂载目录[root@localhost ~]#vim /etc/fstab          //设置挂载/dev/datastore/database     /mnt/database   ext3        defaults      0 0[root@localhost ~]#mount -a        //生效fstab中的挂载信息

解刨析理

1)linux中的磁盘:

内核识别磁盘==>规划分区==>格式化(创建文件系统)==>挂载==>访问挂载点

这是就能实现存读数据了
分区操作:fdisk
格式化:mkfs.ext4、mkswap
挂载:mount

2)分区操作:我们考试为msdos格式
msdos(最多支持4个主分区):但是由于我们硬盘技术的改进,我们硬盘大小越来越大,4个分区已经满足不了我们了,就相当于我们有个100平米的房子,隔成4个房间还行,但是我们1000平米的房子,再弄成4个房间就不合适了;所以这时我们这个也做到了改进:
主分区还是四个,不过其中一个主分区变成了扩展分区,这个扩展分区不能直接被格式化使用,但是它可以继续打隔断,分成多个逻辑分区,这些逻辑分区就可以被格式化使用,这就相当于多了好多分区了
分区编号:主分区和扩展分区为1-4、逻辑分区是扩展分区的一部分,从5开始

fdisk -l 磁盘设备:查看磁盘分区表等信息

执行分区操作:
fdisk 磁盘设备

交互模式。
m:帮助
n:新建分区
d:删除分区(考试的时候不要用d,如果建错了就退出,万一把系统盘删除了,就会导致系统崩溃了)
p:列出分区表
q:不保存退出
w:保存退出
这时我们就可以按照上面的计划去分区了
n==>p(主分区)|e(扩展分区)==>设置编号==>分区开始点(默认单位是扇区)==>分区结束点(可以指定单位KMG),然后就创建完成了,创建3个以后p看一下,然后w保存退出

然后我们需要刷新分区表:通知内核新分区表的结构
如果我们的是一块新给的空磁盘,可以执行partprobe
如果磁盘有数据:reboot
建议partprobe+reboot

LVM逻辑卷管理
我们普通的分区如果是200M,但是有一天不够用了,想给这块磁盘扩容是不太现实的,这是我们只能新建一个分区,给其更大的容量,然后将原来分区上的数据拷贝过来,非常麻烦
所以我们为了防止这种现象,加入了一个软件管理的分区:
内核识别磁盘==>规划分区= LVM =>格式化(创建文件系统)==>挂载==>访问挂载点
我们在内核识别硬盘的时候给其在格式化之前加入了一项LVM,它可以导致我们格式化的对象不再是真正的磁盘分区,而是用软件模拟出来的一块虚拟分区:
好处:
化零为整:把零散的存储设备拼成一个更大的磁盘(还可以把多个磁盘整合,不知可以整合分区)
动态伸缩:从卷组内根据需要分割虚拟分区(lvm逻辑卷)支持在线增大缩小容量,不需要用户离线
这个功能就相当于我们有一张手机卡有2G流量,我们用完了,我们想要在用的时候,如果没有在线扩展的功能的话,我们只能再买一张手机卡,这时我们的号都被换了,非常不方便,但是如果支持在线扩展,那么我们只需要再续一个流量包即可,非常的方便

我们想实现逻辑卷就需要有两个操作:
创建卷组:将我们的磁盘建立成虚拟磁盘
vgcreate 卷组名 存储设备(必须是空闲的设备)
2、创建逻辑卷:划分虚拟分区
lvcreate -n 逻辑卷名称 -L 大小 卷组名
创建成功以后会生成/dev/卷组名/逻辑卷名的设备

vgscan:查看系统上所有卷组vgdisplay:列出详细信息vgtend:扩展卷组vgremove:删除卷组lvscan:查看系统上所有逻辑卷lvdisplay:列出详细信息lvtend:扩展逻辑卷lvremove:删除逻辑卷

然后我们创建一个systemvg的卷组,然后创建一个180M的逻辑卷

vgcreate systemvg /dev/vdb1
vgscan
lvcreate -L 180M -n vo systemvg
lvscan

然后进行格式化:
mkfs.ext3(要求的格式) 存储设备
mkfs.ext4 存储设备
mkfs.xfs 存储设备
mkswap 存储设备

这里要求ext4:

mkfs.ext4 /dev/systemvg/vo

然后进行挂载:
mount /dev/systemvg/vo /vo
查看vo的大小

df -hT /vo

3)注意让我们扩展到300M,但是我们的卷组一共为200M,肯定不能给其扩展到300M,所以我们必须先扩展卷组,然后再扩展逻辑卷
我们考试的时候可能卷组够用
这时直接执行lvextend -L 新的大小 /dev/卷组名/逻辑卷名即可
否则我们先扩展卷组
vgextend systemvg /dev/vdb5
然后扩展逻辑卷
lvextend -L 300M /dev/systemvg/vo

这时需要注意:我们已经格式化的vo,即使你扩展了,系统还是会默认认为你的逻辑卷是180M,这就相当于中国移动给你送了2G流量,但是他没打电话或者发短信告诉你,这时你就不知道,所以这时也一样,你必须通知系统逻辑卷大小变了:
通知内核逻辑卷的新容量:
ext3/4:
resize2fs 逻辑卷路径
Xfs:
xfs_growfs 逻辑卷路径

查看逻辑卷类型:
blkid(查看块设备信息):中的type

4)创建逻辑卷:
用我们刚刚准备的1000M的分区
vgcreate datastore /dev/vdb6
但是如果我们这么创建的话默认PE为4M,这是我们需要删除
vgrempve datastore

注意我们卷组有最小的逻辑单元PE,如果我们指定PE的大小为4M,那么我们逻辑卷的大小只能是4的倍数,如果我们要分一个10M就会分给你3块12M
PE大小可以用vgdisplay来查看

这次我们来指定PE大小:
vgcreate -s PE大小 datastore /dev/vdb6
vgdisplay datastore

lvcreate -L 800M -n database datastore
这时我们为了怕计算错误还可以用-l 来指定块的数量

格式化:
mkfs.ext3 /dev/datastore/database

开机自动挂载:
需要去编辑mount的配置文件/etc/fstab
格式:

设备路径 挂载点 文件系统类型 挂载参数 0 0
/dev/datastore /mnt/database ext3 defaults 0 0

注意:defaults,有s!!
挂载点必须存在

我们想让其挂载:mount -a

卸载:umount 挂载点

5)添加一个swap分区
格式化交换分区:
mkswap 空闲设备

开机自动挂载:
设备路径 挂载点 文件系统类型 挂载参数 0 0
/dev/vdb7 swap swap defaults 0 0

启用交换分区:

swapon -a

查看已经使用的交换分区:

swapon -s

考试的时候会有一个交换分区

关于交换分区的启用/停用:
swapon 交换设备
swapoff -a交换设备 停用所有交换分区

原创粉丝点击