磁盘常用接口类型
IDE 过时了
SATA pc用的最多 服务器也用
SCSI 服务器专用
SAS 服务器专用
磁盘分区
/boot
swap
查看已经挂载的分区
# lsblk
# df -h
查看所有磁盘信息
# fdisk -l
单独查看指定磁盘信息
# fdisk -l /dev/sdb
分区操作
# fdisk /dev/sdb 磁盘小于20G情况分区
#gdisk /dev/sdb 磁盘大于20G情况分区
[root@server ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
#正常提示
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x0df723ea.
Command (m for help): m #查看帮助
Command (m for help): p #查看分区信息
Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0df723ea
Command (m for help): n # new一个新的分区
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p # 主分区
Partition number (1-4, default 1):
First sector (2048-10485759, default 2048): # 开始的位置
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-10485759, default 10485759): +500M # 结束的位置
Created a new partition 1 of type 'Linux' and of size 500 MiB.
Command (m for help): w #保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
2.分区
m 帮助
p 打印分区信息
n 新建分区
MBR 最多支持4个大(p或e)分区
p primary 主分区 必须存在
e extented 扩展分区
l logical 逻辑分区 做多个
1个主
1个扩展(剩余所有空间)
多个逻辑分区
GPT 最多支持128个主分区
p primary
d 删除分区
切换分区表0
g 切换成gpt分区
o 切换成mbr分区
制作文件系统(格式化)
#mkfs.xfs /dev/sdb1
挂载
#mkdir /test
#mount /dev/sdb1 /test
开机挂载
# vim /etc/fstab 追加内容
...
/dev/sdb1 /test xfs defaults 0 0
defaults 挂载属性 比如rw
1.逻辑卷LVM–(Logical Volume Manager(逻辑卷管理)的简写)
1.1.LVM管理
lvm概念:LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
lvm的特点
#传统分区的缺点:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:
1.不同的分区相对独立,无相互联系,空间不能充分利用;
2.当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。
#当采用LVM时:
1.硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.文件系统建立在LVM上,可以跨分区,方便使用;
3.当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。
lvm的制作
lvm的使用
lvm扩容-------在线扩容。可以在有数据的情况下去扩容。
基本分区(MBR|GPT) ----> Filesystem(制作文件系统类型) ----> mount(挂载)
逻辑卷LVM ----> Filesystem(制作文件系统类型) ----> mount(挂载)
1.3.lvm的制作
第一步,拥有基本分区
做成物理卷: pv ------- sdb1、sdb2 打pv的标记。
加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。
逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
制作文件系统------mkfs.xfs lvm路径
挂载 ------mount 使用lvm
#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的
2.实战
2.1.创建LVM
首先准备添加3块磁盘:可以是/dev/sdb这种没有分区的也可以是/dev/sdb1这种已经分区了的
注意:如果没有pv命令安装 #yum install -y lvm2
[root@linux-server ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Nov 9 12:59 /dev/sda
brw-rw----. 1 root disk 8, 1 Nov 9 12:59 /dev/sda1
brw-rw----. 1 root disk 8, 2 Nov 9 12:59 /dev/sda2
brw-rw----. 1 root disk 8, 16 Nov 9 12:59 /dev/sdb
brw-rw----. 1 root disk 8, 32 Nov 9 12:59 /dev/sdc
brw-rw----. 1 root disk 8, 48 Nov 9 14:04 /dev/sdd
2.2.创建pv
[root@linux-server ~]# pvcreate /dev/sdb #创建pv
Physical volume "/dev/sdb" successfully created.
[root@linux-server ~]# pvs #查看pv
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 --- 10.00g 10.00g
[root@linux-server ~]# pvscan #查看pv
PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
PV /dev/sdb lvm2 [10.00 GiB]
Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB]
2.3.创建vg
[root@linux-server ~]# vgcreate vg1 /dev/sdb #创建vg
Volume group "vg1" successfully created
参数解释:
-s 16M 指的是在分区的时候指定vg的大小。
[root@linux-server ~]# vgs #查看vg
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 0 0 wz--n- <10.00g <10.00g
[root@linux-server ~]# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
Found volume group "vg1" using metadata type lvm2
[root@linux-server ~]# vgdisplay #查看vg
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 0 / 0 MiB
Free PE / Size 2559 / <10.00 GiB
VG UUID bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp
2.4.创建lv
[root@linux-server ~]# lvcreate -L 150M -n lv1 vg1 #创建lv
Rounding up size to full physical extent 152.00 MiB
Logical volume "lv1" created.
[root@linux-server ~]# lvcreate -l 20 -n lv2 vg1 #采用PE方式在创建一个lv
Logical volume "lv2" created.
参数解释:
-L 指定lv的大小
-n 给创建的lv起一个名字
-l 20 指定PE
[root@linux-server ~]# lvs #查看lv
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-a----- 152.00m
lv2 vg1 -wi-a----- 80.00m
2.5.制作文件系统并挂载
[root@linux-server ~]# mkfs.xfs /dev/vg1/lv1
[root@linux-server ~]# mkfs.ext4 /dev/vg1/lv2
[root@linux-server ~]# mkdir /mnt/lv{1..2}
[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@linux-server ~]# mount /dev/vg1/lv2 /mnt/lv2
[root@linux-server ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
LVM逻辑卷扩容
1.VG管理
#注意:如果lv所在的vg有空间直接扩容就ok了!
1.1.扩大VG vgextend
1.创建pv
[root@linux-server ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
2.直接vgextend扩容
[root@linux-server ~]# vgextend vg1 /dev/sdc #vg1卷组名字,将/dev/sdc扩展到vg1中
Volume group "vg1" successfully extended
[root@linux-server ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 2 2 0 wz--n- 19.99g 18.23g
1.2.实战lv扩容
[root@linux-server ~]# vgs #查看vg
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 2 0 wz--n- <19.99g <9.77g
[root@linux-server ~]# lvextend -L 850M /dev/vg1/lv1 #扩展到850M
[root@linux-server ~]# lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
[root@linux-server ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- 1.66g
lv2 vg1 -wi-ao---- 80.00m
[root@linux-server ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
[root@linux-server ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- <1.68g
lv2 vg1 -wi-ao---- 80.00m
1.3.FS(file system)文件系统扩容
[root@linux-server ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
[root@linux-server ~]# xfs_growfs /dev/vg1/lv1 #xfs扩容
[root@linux-server ~]# resize2fs /dev/vg1/lv2 #ext4扩容
[root@linux-server ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 1.7G 9.1M 1.7G 1% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
LVM释放磁盘
1、取消挂载
unmount /dev/vg1/lv1 /mnt/lv1
unmount /dev/vg1/lv2 /mnt/lv2
删除/etc/fstab永久挂载
2、删除LVM逻辑卷
lvrmove /dev/vg1/lv1
lvrmove /dev/vg1/lv2
lvs查看
3、删除vg
vgreduce vg1 /dev/sdb
vgreduce vg1 /dev/sdc
4、删除pv
pvremove /dev/sdb
pvremove /dev/sdc
5、格式化磁盘
mkfs.xfs /dev/sdb -f
mkfs.xfs /dev/sdc -f
6.根扩展
pvcreate /dev/sdb
vgs
vgextend centos /dev/sdb
lvscan
lvextend -L +5G /dev/centos/root
df -T
xfs_growfs /dev/centos/root 文件系统整合
df -Th
7.交换swap分区的方法
第一种
创建个分区,把分区格式成swap
mkswap /dev/sdb1 用此命令格式化swap格式
写到/etc/fstab
把需要的内存挂载到swap 交换分区 格式 默认值
/dev/sdb1 swap swap defaults 0 0
激活swap分区,swap变大
swapon -a
删除指定交换内存
swapoff /dev/vdb1
方法二
dd if=/dev/zero of=/swap2.img bs=1M count=512
mkswap /swap2.img
vim /etc/fstab 写入挂载
/swap2.img swap swap defaults 0 0
chmod 600 /swap2.img
swapon -a
free -m
关闭swap分区命令 swapoff -a 关闭swap分区
dd 命令可以做磁盘性能测试,根据每秒读写,写入时间判断磁盘性能
软件管理
rpm yum
yum软件管理
前提:联网
测试两台机器之间的连通性 ping
# ping www.baidu.com
下载软件 省略 直接使用远程软件仓库
软件仓库(yum源)
官方仓库 红帽 系统自带(用的最多) EPEL源
国内仓库 EPEL源(阿里)
搜索
从yum仓库搜索跟指定关键字相关的软件
# yum search ftp(关键字)
# yum search vsf
安装
# yum install 软件名称 -y
-y 取消提示
查看
# yum list gedit
Last metadata expiration check: 0:53:13 ago on Fri 26 Jul 2024 10:27:48 AM CST.
Installed Packages
gedit.x86_64 2:40.0-6.el9 @appstream
@ 存在,表示已经安装 不存在,表示未安装
查看系统内已经安装和仓库内未安装的所有软件
# yum list
# yum list | wc -l
7677
| 管道符
wc 数数的工具 -l 查看有多少行
查看仓库列表
# yum repolist
删除
# yum erase gedit -y
清理yum缓存
# yum clean all
安装官方epel源
# yum install epel-release -y
安装国内epel源
暂时ali还没有