ENGINEER-01-分区的规划使用,lvm逻辑圈
分区规划
扇区的大小:默认 512 字节
• 识别硬盘 => 分区规划 => 格式化 => 挂载使用
fdisk mkfs 临时挂载: mount
永久挂载: /etc/fstab
一、分区规划
MBR分区模式 最大2TB空间
– 三种分区类型:主分区 扩展分区 逻辑分区
– 1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)
– 最大支持容量为 2.2TB 的磁盘
– 扩展分区不能格式化
– 理论上:最多有4个主分区
/dev/sdc5 表示 scsi类型的磁盘,第三块,第一个逻辑分区
虚拟机Server
1.查看本机识别硬盘
[root@server0 ~]# lsblk (list block:列出可用设备)
2.分区指令 fdisk
[root@server0 /]# fdisk /dev/vdb
n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G
p 查看分区表
n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G
d 删除分区
w 保存并退出
[root@server0 ~]# lsblk
[root@server0 ~]# ls /dev/vdb[1-2]
3.格式化文件系统
• mkfs 工具集 (make file system)
– mkfs.ext4 分区设备路径
– mkfs.xfs 分区设备路径
– mkfs.vfat -F 32 分区设备路径
[root@server0 ~]# blkid /dev/vdb1 #查看分区UUID及文件系统信息
[root@server0 ~]# mkfs.ext4 /dev/vdb1 #给分区赋予文件系统
[root@server0 ~]# blkid /dev/vdb1
[root@server0 ~]# blkid /dev/vdb2 #查看分区UUID及文件系统信息
[root@server0 ~]# mkfs.xfs /dev/vdb2
[root@server0 ~]# blkid /dev/vdb2
[root@server0 ~]# mkfs.xfs /dev/vdb2
mkfs.xfs: /dev/vdb2 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
-f :强制格式化
4.挂载使用
[root@server0 ~]# mount /dev/vdb1 /mypart1
mount: 挂载点 /mypart1 不存在
[root@server0 ~]# mkdir /mypart1
[root@server0 ~]# mkdir /mypart2
[root@server0 ~]# mount /dev/vdb1 /mypart1
[root@server0 ~]# mount /dev/vdb2 /mypart2
[root@server0 ~]# df -h #查看所有 正在挂载使用 的分区的信息
################################################################
综合分区:
请划分 3个主分区,分别为2G
划分 2个逻辑分区,分别 为 1G
[root@server0 ~]# fdisk /dev/vdb
p 查看分区表
n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G
p 查看分区表
n 创建新的分区
----->回车---->起始回车----->结束回车 将所有空间给扩展分区
p 查看分区表
n 创建新的分区----->起始回车------>结束+1G
n 创建新的分区----->起始回车------>结束+1G
d 删除分区
w 保存并退出
[root@server0 ~]# partprobe #刷新 新的分区
[root@server0 ~]# lsblk
[root@server0 ~]# ls /dev/vdb[1-6]
##################################################################
总结分区:
1.查看识别硬盘 lsblk
2.划分分区 fdisk
3.刷新新的分区 partprobe
4.格式化 mkfs.ext4
5.查看文件系统类型 blkid
6.挂载使用 mount
7.查看挂载使用 df -h
8.完成开机自动挂载 /etc/fstab
9.验证书写内容 mount -a
#################################################################
开机自动挂载分区
• 配置文件 /etc/fstab 的记录格式
– 设备路径 挂载点 类型 参数 备份标记 检测顺序
/dev/vdb1 /mypart1 ext4 defaults 0 0
补充:vim 命令模式 按 o 另起一行进入 插入模式
[root@server0 ~]# blkid /dev/vdb1
[root@server0 ~]# vim /etc/fstab
[root@server0 ~]# mount -a #检测/etc/fstab文件格式,并尝试挂载设备
[root@server0 ~]# df -h (disk free)
################################################################3
对于/dev/vdc进行综合分区:
划分3个主分区,分别为10G
划分2个逻辑分区,分别为10G
[root@server0 ~]# fdisk /dev/vdc
p 查看分区表
n 创建新的分区----->回车----->回车---->回车----->在last结束时 +10G #第一个主分区
p 查看分区表
.......
n 创建新的分区(扩展分区)
----->回车---->起始回车----->结束回车 将所有空间给扩展分区
p 查看分区表
n 创建新的分区----->起始回车------>结束+10G #划分第一个逻辑分区
n 创建新的分区----->起始回车------>结束+10G #划分第二个逻辑分区
d 删除分区
w 保存并退出
[root@server0 ~]# lsblk #查看分区情况
################################################################
LVM逻辑卷 (Logical Volume Manager)
作用: 1. 可以整合分散的空间
2. 逻辑卷可以容量扩大
将众多的物理卷(pv),组成卷组(vg),再从卷组中划分逻辑卷(lv),再去格式化逻辑卷,进行挂载
面粉---------》大面团---------》小面团------》蒸--------》吃
砖---------》大房子---------》打隔段---------》装修---------》入住
一、制作逻辑卷
1.创建卷组 : vgcreate 卷组的名字 组成卷组的成员
[root@server0 ~]# vgcreate myvg /dev/vdc1 /dev/vdc2
[root@server0 ~]# pvs #显示物理卷的信息
[root@server0 ~]# vgs #显示卷组的信息
2.创建逻辑卷 : lvcreate -n 逻辑卷的名字 -L 大小 卷组的名字
[root@server0 ~]# lvcreate -n vo -L 16G myvg
[root@server0 ~]# lvs #显示逻辑卷的信息
[root@server0 ~]# vgs #显示卷组的信息
3.使用逻辑卷
[root@server0 ~]# mkfs.ext4 /dev/myvg/vo
[root@server0 ~]# blkid /dev/myvg/vo (查看文件系统类型)
[root@server0 ~]# mkdir /lvm
[root@server0 ~]# vim /etc/fstab
/dev/myvg/vo /lvm ext4 defaults 0 0
[root@server0 ~]# mount -a
[root@server0 ~]# df -h (disk free human readable)
##############################################################
逻辑卷的扩大,支持线上操作 (面试题)
一、卷组有足够的剩余空间
1.空间的扩展
[root@server0 ~]# vgs
[root@server0 ~]# lvextend -L 18G /dev/myvg/vo
[root@server0 ~]# lvs
2.文件系统的扩展
resize2fs : ext4文件系统扩展命令
xfs_growfs : xfs文件系统扩展命令
[root@server0 ~]# df -h
[root@server0 ~]# resize2fs /dev/myvg/vo
[root@server0 ~]# df -h
二、卷组没有足够的剩余空间
1.扩展卷组空间
[root@server0 ~]# vgextend myvg /dev/vdc3
[root@server0 ~]# vgs
2.空间的扩展
[root@server0 ~]# vgs
[root@server0 ~]# lvextend -L 25G /dev/myvg/vo
[root@server0 ~]# lvs
3.文件系统的扩展
resize2fs : ext4文件系统扩展命令
xfs_growfs : xfs文件系统扩展命令
[root@server0 ~]# df -h
[root@server0 ~]# resize2fs /dev/myvg/vo
[root@server0 ~]# df -h
##################################################################
了解:逻辑卷的缩小,有风险
1.先缩减文件系统的大小,在缩减空间的大小
[root@server0 ~]# resize2fs /dev/myvg/vo 10G
[root@server0 ~]# umount /lvm/
[root@server0 ~]# resize2fs /dev/myvg/vo 10G
[root@server0 ~]# e2fsck -f /dev/myvg/vo
[root@server0 ~]# resize2fs /dev/myvg/vo 10G
[root@server0 ~]# lvreduce -L 10G /dev/myvg/vo
WARNING: Reducing active logical volume to 10.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vo? [y/n]: y
[root@server0 ~]# df -h
ext4文件系统可以缩减
xfs文件系统不支持缩减
##################################################################
PE:卷组划分空间的单位
• 创建卷组的时候设置PE大小
– vgcreate -s PE大小 卷组名 空闲分区...
– vgchange -s PE大小 卷组名
• 创建逻辑卷的时候指定PE个数
– lvcreate -l PE个数 -n 逻辑卷名 卷组名
[root@server0 ~]# vgdisplay myvg
[root@server0 ~]# vgchange -s 1M myvg
请划分一个逻辑卷名字lvtest01,大小为50个PE的总和
[root@server0 ~]# lvcreate -l 80 -n lvtest01 myvg
[root@server0 ~]# lvs
###################################################################
逻辑卷的删除
[root@server0 ~]# lvremove /dev/myvg/vo
Logical volume myvg/vo contains a filesystem in use.
[root@server0 ~]# umount /lvm
[root@server0 ~]# lvremove /dev/myvg/vo
Do you really want to remove active logical volume vo? [y/n]:y
[root@server0 ~]# lvs
[root@server0 ~]# vgremove myvg
[root@server0 ~]# vgs
[root@server0 ~]# pvremove /dev/vdc[1-3]
[root@server0 ~]# pvs
###############################################################
案例1:为虚拟机 server 配置以下静态地址参数
– 主机名:server0.example.com
[root@server0 ~]# vim /etc/hostname
– IP地址:172.25.0.11
– 子网掩码:255.255.255.0
– 默认网关:172.25.0.254
[root@server0 ~]# nmcli connection modify 'System eth0' ipv4.method manual ipv4.addresses '172.25.0.11/24 172.25.0.254' connection.autoconnect yes
– DNS服务器:172.25.254.254
[root@server0 ~]# vim /etc/resolv.conf
案例2:复制、粘贴、移动
以root用户新建/example/目录,在此目录下新建nsd.txt文件,并进一步完成下列操作
1)将“I love Study”写入到文件nsd.txt
[root@server0 example]# vim nsd.txt
2)将nsd.txt重命名为mylove.txt
[root@server0 example]# mv nsd.txt mylove.txt
3)将/etc/passwd、/boot、/etc/group同时拷贝到/example/目录下
[root@server0 example]# cp -r /etc/passwd /boot/ /etc/group /example/
4)将ifconfig命令的前两行内容,追加写入mylove.txt
[root@server0 example]# ifconfig |head -2 >> mylove.txt
5)将主机名永久配置文件,拷贝到/example/目录下
[root@server0 example]# cp /etc/passwd /example/
6)将DNS永久配置文件,拷贝到/example/目录下
[root@server0 example]# cp /etc/resolv.conf /example/
7)将开机自动挂载配置文件,拷贝到/example/目录下
[root@server0 example]# cp /etc/fstab /example/
案例3:在server上操作,(MBR分区模式)规划分区
添加一块80G的硬盘并规划分区:
划分2个10G的主分区;1个12G的主分区;1个20G的逻辑分区。
[root@server0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk
vdc 253:32 0 80G 0 disk
├─vdc1 253:33 0 10G 0 part
├─vdc2 253:34 0 10G 0 part
├─vdc3 253:35 0 12G 0 part
├─vdc4 253:36 0 1K 0 part
└─vdc5 253:37 0 20G 0 part
案例4:在server上操作,分区使用
1、案例3中新添加80G硬盘的第一个逻辑分区
– 格式化成xfs文件系统,实现该分区开机自动挂载,挂载点为/mnt/xfs
[root@server0 ~]# mkfs.xfs /dev/vdc5
[root@server0 ~]# blkid /dev/vdc5
/dev/vdc5: UUID="da9fea20-1aab-4ca7-9b40-937a538e6306" TYPE="xfs"
2、案例3中新添加80G硬盘的第一个主分区
– 完成开机自动挂载,挂载点/mnt/mypart,文件系统为ext4
[root@server0 ~]# mkfs.ext4 /dev/vdc1
[root@server0 ~]# vim /etc/fstab
/dev/vdc1 /mnt/mypart ext4 defaults 0 0
案例5:虚拟机 server0操作,构建 LVM 存储
– 新建一个名为 systemvg 的卷组
[root@server0 ~]# vgcreate systemvg /dev/vdc2
– 在此卷组中创建一个名为 vo 的逻辑卷,大小为8G
[root@server0 ~]# lvcreate -L 8G -n vo systemvg
– 将逻辑卷 vo 格式化为 xfs 文件系统
[root@server0 ~]# mkfs.xfs /dev/systemvg/vo
[root@server0 ~]# blkid /dev/systemvg/vo
/dev/systemvg/vo: UUID="d186c92d-ad3f-4b6e-aad2-3606fb903f9b" TYPE="xfs"
– 将逻辑卷 vo 挂载到 /vo 目录,并在此目录下建立一个测试文件 votest.txt,内容为“I AM KING.”
/dev/systemvg/vo /vo xfs defaults 0 0
– 实现逻辑卷vo开机自动挂载到/vo
[root@server0 ~]# mkdir /vo
[root@server0 ~]# vim /etc/fstab
[root@server0 ~]# mount -a
[root@server0 vo]# vim votest.txt
案例6:虚拟机 server0操作,构建 LVM 存储(修改PE大小)
– 新的逻辑卷命名为 database,其大小为50个PE的大小,属于 datastore 卷组
[root@server0 vo]# vgcreate datastore /dev/vdc3
[root@server0 vo]# lvcreate -l 50 -n database datastore ( -l 是规定pe的个数)
– 在 datastore 卷组中其PE的大小为1M
[root@server0 vo]# vgchange -s 1M datastore
[root@server0 vo]# lvcreate -l 50 -n database datastore
– 使用 EXT4 文件系统对逻辑卷 database 格式化,此逻辑卷应该在开机时自动挂载到 /mnt/database 目录
[root@server0 vo]# mkfs.ext4 /dev/datastore/database
[root@server0 datastore]# mkdir /mnt/database
[root@server0 datastore]# blkid /dev/datastore/database
/dev/datastore/database: UUID="94437cc3-4c0b-4bc8-8924-f4e0220d0858" TYPE="ext4"
案例7: vim文本编辑器练习,命令模式下的基本操作(重点知识)
1)将/etc/passwd的前20行,写入到文件/opt/pass20.txt
[root@server0 datastore]# cat /etc/passwd | head -20 >> /opt/pass20.txt
2)将/etc/shadow的前10行,追加写入到文件/opt/pass20.txt
[root@server0 datastore]# cat /etc/shadow | head -10 >> /opt/pass20.txt
3)利用/opt/pass20.txt,进项如下操作:
– 命令模式下移动光标:键盘上下左右键、Home键、End键
– 命令模式下行间跳转:到全文的第一行(1G或gg)、到全文的最后一行(G)、到全文的第10行(10G)
– 命令模式下复制、粘贴:
复制1行(yy)、复制3行(3yy)
粘贴到当前行之后(小写p)
– 命令模式下删除:
删除单个字符(x)
删除到行首(d^)、删除到行尾(d$)
删除1行(dd)、删除3行(3dd)
– 命令模式下查找关键词:
搜索(/word)切换结果(n、N)
– 补充:在命令模式下大写的C,可以删除光标之后,并且进入输入模式