linux磁盘操作/LVM逻辑卷

磁盘常用接口类型

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还没有
  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值