Linux磁盘管理及Lvm
1. 硬盘接口
IDE:
SATA:常用;
SCSI:主要用于高端服务器,linux默认;
SAS
2. 硬盘种类
SATA硬盘:串口硬盘,有较强的纠错能力;
SCSI 硬盘:默认硬盘;
SAS 硬盘
3. 分区符
3.1 MBR:Master Boot Record,硬盘主引导记录
主引导扇区总共512字节,
组成:
1)主引导程序,boot loader,占446字节;
2)硬盘分区表,DPT,Disk Partition table,占64字节;
3)分区有效标志,55AA,magic number,占2字节。
3.2 分区
分区编号:主分区1-4;逻辑分区5…..;
主分区用来启动操作系统,存放操作系统的启动或操作系统,/boot分区最好放在主分区;
逻辑分区必须建立在扩展分区之上,扩展分区是不能使用的,它只作为逻辑分区的容器存在;
真正存放数据的是主分区和逻辑分区,逻辑分区存放着大量数据;
主分区+扩展分区最多只能有4个;扩展分区可以是0个、1个,最多1个;逻辑分区可以是0个,多个。
使用fdisk对磁盘进行操作、分区、格式化。
3.3 分区命名方式
查看硬盘:ls /dev/sd*,若没有,用partprobe刷新一下
分区命名方式:/dev/sd[a-z]n
其中:
a-z表示设备序号,如sda表示第一块scsi硬盘,sdb表示第二块scsi硬盘;
n表示每块磁盘上划分的磁盘编号。
实验:
新建一个磁盘,用查看磁盘命令查看一下新建的磁盘
4.文件系统与数据资料
文件系统:合理规划硬盘;在硬盘中执行文件建立、写入、读取、修改、转存、与控制。必须格式化文件系统才能规划数据。
常用文件系统:
Ext3:日志文件系统,可以在系统异常宕机时避免文件系统丢失,自动修复数据的不一致与错误;硬盘容量较大时修复时间较长。
Ext4:Ext3改进版,支持的存储容量高达1EB,能够有无限多的子目录,能够批量分配block块提高读写效率。
XFS:高性能日志文件系统,默认文件系统,宕机后能够快速恢复,可恢复可能破坏的文件,储存容量极高,为18EB,读写效率极高。
5. fdisk管理分区
fdisk是linux发行版本中最常用的分区工具;
格式:fdisk [选项] device
m |
查看全部可用的参数 |
t |
改变某个分区的类型 |
n |
添加新分区 |
p |
查看分区信息 |
d |
删除某个分区信息 |
w |
保存并退出 |
l |
列出所有可用的分区类型 |
q |
不保存直接退出 |
实验: 新建分区。
直接用fdisk命令更改分区
键入n,新建分区
默认设置直至指定磁盘大小为5G(前面加+号)
键入p,查看分区信息
w,保存退出,再查看新建分区
sbd1直接不可用,必须给它创建文件系统
格式: mkfs.xfs /dev/sdb1 (默认文件格式为xfs)
文件系统创建完毕,但现在还不能使用,需要将该分区挂载(mount)。创建一个目录,将sdb1挂载到该目录下,查看磁盘信息。然后再cd到/zxj,就可以在/zxj下写东西了。
格式: mount 分区 路径(挂载点)
卸载用命令umount,该命令由root执行,格式:umount 挂载点
磁盘被挂载,但写入其内的内容并没有被删除,重新挂载后又可追回。
实验:扩展分区,逻辑分区。
卸载原分区或新建分区(扩展分区为e)
逻辑分区建立在扩展分区上,在此指定扩展分区大小为10G(前面一定要有+号)
键入p查看分区
w保存,用partprobe刷新,查看分区
在扩展分区上建立逻辑分区
可以看到在扩展分区新建选项出现了逻辑分区,逻辑分区分区号从5开始:
新建逻辑分区,指定大小为3G(不能超过扩展分区大小)
w保存,查看分区
指定文件系统(格式化)
挂载/zxj,然后将逻辑分区sdb5挂载到/zxj下,查看有sdb5分区,就可以给sdb5写内容了
但挂载到zxj下的分区在系统重启后会掉,所以将磁盘命令写到文件下面,如
格式:分区 挂载点 文件类型 默认值 不备份(第一个0) 不自检(第二个0)
保存退出。
现在来检测分区的自动挂载,先将分区挂载,再使用mount -a自动检测/etc/fstab 下的所有未挂载的分区进行挂载
但写到文件/etc/fstab下系统重启起不来,写到文件/etc/rc.local下执行命令
保存退出后给予指定的执行权限
重启之后可以看到分区自动挂载上了
6. 添加交换分区
内存不够时使用交换分区,但交换分区的读写速度要比物理分区的慢,一般不用。
交换分区的大小一般为真实物理内存的1.5-2倍,交换分区既可以做主分区,又可以做逻辑分区,以大小为2G的交换分区做实验,新建交换分区保存并退出。
指定文件系统:mkswap 分区
挂载swap
Swapon
卸载swapoff
格式 :swapoff 选项
选项有:
卸载掉刚才的sdb3分区
将swap交换分区完全挂掉,加选项-a
swap写在/etc/fstab或/etc/rc.local下开机自启。
7.LVM逻辑卷管理器
7.1
管理器是linux为了解决硬盘设备在创建分区后不易修改分区大小的缺陷而对硬盘分区进行管理的一种机制,LVM是在线动态扩容,在硬盘分区和文件系统之间添加一个逻辑层,抽象一个卷组,将多块硬盘进行卷组合并,实现对硬盘分区的动态调整,LVM的技术构架:
7.2 LVM 常用术语
介质(The physical media):LVM存储介质可以是磁盘分区,整个磁盘,RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用;
PV(physical volume) :物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷它可以用硬盘分区,也可以用硬盘本身;
卷组VG(Volume Group) :一个LVM卷组由一个或多个物理卷组成。
逻辑卷LV(logical volume) :LV建立在VG之上,可以在LV之上建立文件系统。
PE(physical extents) :PV物理卷中可以分配的最小存储单元,PE的大小是可以指定的,默认为4MB。
LE(logical extent) : lV逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE的大小和PE是相同的,并且一一对应
7.3 部署逻辑卷
常用LVM部署命令:
功能/命令 |
物理卷管理 |
卷组管理 |
逻辑卷管理 |
扫描 |
pvscan |
vgsan |
lvscan |
建立 |
pvcreate |
vgcreate |
lvcreate |
显示 |
pvdisplay |
vgdisplay |
lvdisplay |
删除 |
pvremove |
vgremove |
lvremove |
扩展 |
vgextend |
lvextend |
|
缩小 |
vgreduce |
lvreduce |
步骤:
先添加两块磁盘用作实验,重启系统后查看磁盘
让两块硬盘支持LVM技术,将两磁盘创建为物理卷
创建卷组 :vgcreate 卷组名 路径
查看卷组信息
创建逻辑卷:需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位,第一种是以容量为单位,所使用的参数为-L。例如,使用 -L 50M生成一个大小为150MB的逻辑卷。另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。例如,使用-l 37可以生成一个大小为37×4MB=148MB的逻辑卷。-n 表示指定逻辑卷名。
[root@wrl zxj]# lvcreate -n lv_zxj -L 100M vg_zxj
logical volume "lv_zxj" created.
-n lv_zxj:指定逻辑卷名;vg_zxj:逻辑卷是从卷组vg_zxj分割出100M大小。
逻辑卷格式化文件系统:
/dev/vg_zxj/lv_zxj:逻辑卷在卷组下
挂载使用:将逻辑卷组挂载到新建的/zxj目录下,并查看卷组
写在/etc/fstab或/etc/rc.local下开机自启。
[zxj@localhost ~]$ su
Password:
[root@localhost zxj]# ls /dev/sd* #查看磁盘
/dev/sda /dev/sda2 /dev/sdb /dev/sdd
/dev/sda1 /dev/sda3 /dev/sdc /dev/sde
[root@localhost zxj]# pvcreate /dev/sd{b,c} #创建物理卷
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@localhost zxj]# vgcreate vg_zxj /dev/sd{b,c} #创建卷组
Volume group "vg_zxj" successfully created
[root@localhost zxj]# vgdisplay vg_zxj #查看卷组
--- Volume group ---
VG Name vg_zxj
System iD
Format lvm2
Metadata areas
Metadata Sequence No
VG access read/write
VG Status resizable
MaX lV
Cur lV
Open lV
Max PV
Cur PV
act PV
VG Size 39.99 GiB
PE Size 4.00 MiB
Total PE
alloc PE / Size /
Free PE / Size / 39.99 GiB
VG UUiD owjXWk-QJ3q-dEjQ-gfaX-5Oin-1dOY-zeiVaR
[root@localhost zxj]# lvcreate -n lv_zxj -L 500M vg_zxj #创建逻辑卷
logical volume "lv_zxj" created.
[root@localhost zxj]# mkfs.xfs /dev/vg_zxj/lv_zxj #格式化文件系统
meta-data=/dev/vg_zxj/lv_zxj isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt=, sparse=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal log bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
[root@localhost zxj]# mkdir /zxj #新建挂载点
[root@localhost zxj]# mount /dev/vg_zxj/lv_zxj /zxj #挂载逻辑卷
[root@localhost zxj]# df -h
/dev/mapper/vg_zxj-lv_zxj 497M 26M 472M % /zxj
[root@localhost zxj]# echo "dev/vg_zxj/lv_zxj xfs defaults 0 0 ">> /etc/fstab
#写到文件下,开机自动挂载
[root@localhost zxj]# echo "mount /dev/vg_zxj/lv_zxj /zxj">> /etc/rc.local
#写到文件下,开机自动挂载
8. linux扩容逻辑卷Ext4格式
步骤:
创建ext4格式逻辑卷:
[root@localhost zxj]# lvcreate -l 500M -n ext4_zxj vg_zxj #逻辑卷大小为500M
logical volume "ext4_zxj" created.
[root@localhost zxj]# mkfs.ext4 /dev/vg_zxj/ext4_zxj #格式化文件系统为ext4
[root@localhost zxj]# mkdir /zxj2
[root@localhost zxj]# mount /dev/vg_zxj/ext4_zxj /zxj2 #挂载
[root@localhost zxj]# df -h
/dev/mapper/vg_zxj-ext4_zxj 477M 2.3M 445M % /zxj2
卸载:
[root@localhost zxj]# umount /zxj2 扩容:
[root@localhost zxj]# lvextend -l 700M /dev/vg_zxj/ext4_zxj #外层扩容
Size of logical volume vg_zxj/ext4_zxj changed from 500.00 MiB ( extents) to 700.00 MiB ( extents).
logical volume vg_zxj/ext4_zxj successfully resized.
[root@localhost zxj]# resize2fs -f /dev/vg_zxj/ext4_zxj #内层缩容
resize2fs 1.42. (-Dec-)
Resizing the filesystem on /dev/vg_zxj/ext4_zxj to (1k) blocks.
The filesystem on /dev/vg_zxj/ext4_zxj is now blocks long.
[root@localhost zxj]# e2fsck -f /dev/vg_zxj/ext4_zxj #查看磁盘完整性
e2fsck 1.42. (-Dec-)
Pass : Checking inodes, blocks, and sizes
Pass : Checking directory structure
Pass : Checking directory connectivity
Pass : Checking reference counts
Pass : Checking group summary information
/dev/vg_zxj/ext4_zxj: / files (0.0% non-contiguous), / blocks
[root@localhost zxj]# mount /dev/vg_zxj/ext4_zxj /zxj2 #挂载
[root@localhost zxj]# df -h #查看
/dev/mapper/vg_zxj-ext4_zxj 670M 2.5M 629M % /zxj2 #扩容到700M
9. linux缩小逻辑卷
[root@localhost zxj]# umount /zxj2 #保证数据安全,卸载
[root@localhost zxj]# e2fsck -f /dev/vg_zxj/ext4_zxj #查看系统柜完整性
[root@localhost zxj]# resize2fs /dev/vg_zxj/ext4_zxj 200M #内层大小重置
resize2fs 1.42. (-Dec-)
Resizing the filesystem on /dev/vg_zxj/ext4_zxj to (1k) blocks.
The filesystem on /dev/vg_zxj/ext4_zxj is now blocks long.
[root@localhost zxj]# lvreduce -l 200M /dev/vg_zxj/ext4_zxj #逻辑卷外层缩容
WaRNiNG: Reducing active logical volume to 200.00 MiB.
THiS MaY DESTROY YOUR DaTa (filesystem etc.)
Do you really want to reduce vg_zxj/ext4_zxj? [y/n]: y
Size of logical volume vg_zxj/ext4_zxj changed from 700.00 MiB ( extents) to 200.00 MiB ( extents).
logical volume vg_zxj/ext4_zxj successfully resized.
[root@localhost zxj]# mount /dev/vg_zxj/ext4_zxj /zxj2 #挂载
[root@localhost zxj]# df -h
/dev/mapper/vg_zxj-ext4_zxj 186M 1.6M 171M % /zxj2 #缩容到200M
10 linux扩容逻辑卷xfs格式
xfs格式只能扩容,不能减小;
xfs格式无需卸载,支持在线扩容。
步骤:
[root@localhost zxj]# pvcreate /dev/sd{b,c} #创建物理卷
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@localhost zxj]# vgcreate vg_zxj /dev/sd{b,c} #创建卷组
Volume group "vg_zxj" successfully created
[root@localhost zxj]# lvcreate -n lv_zxj -L 500M vg_zxj #创建逻辑卷
WARNING: xfs signature detected on /dev/vg_zxj/lv_zxj at offset . Wipe it? [y/n]: y
Wiping xfs signature on /dev/vg_zxj/lv_zxj.
logical volume "lv_zxj" created.
[root@localhost zxj]# mkfs.xfs /dev/vg_zxj/lv_zxj #格式化文件系统
[root@localhost zxj]# mkdir /zxj
mkdir: cannot create directory ‘/zxj’: File exists
[root@localhost zxj]# mount /dev/vg_zxj/lv_zxj /zxj #挂载
[root@localhost zxj]# df -h
/dev/mapper/vg_zxj-lv_zxj 497M 26M 472M % /zxj
[root@localhost zxj]# lvextend –L 700M /dev/vg_zxj/lv_zxj #逻辑卷扩展
Size of logical volume vg_zxj/lv_zxj changed from 500.00 MiB ( extents) to 700.00 MiB ( extents).
logical volume vg_zxj/lv_zxj successfully resized.
[root@localhostzxj]#xfs_growfs /dev/vg_zxj/lv_zxj #在线扩容
meta-data=/dev/mapper/vg_zxj-lv_zxj isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt= spinodes=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
data blocks changed from to
[root@localhost zxj]# df -h #查看卷组,成功扩容
/dev/mapper/vg_zxj-lv_zxj 697M 26M 672M % /zxj
11. linux删除逻辑卷
步骤:
[root@localhost zxj]# umount /zxj2 #卸载
[root@localhost zxj]# lvremove /dev/vg_zxj/ext4_zxj #删除逻辑卷
Do you really want to remove active logical volume vg_zxj/ext4_zxj? [y/n]: y
logical volume "ext4_zxj" successfully removed
[root@localhost zxj]# vgremove vg_zxj #删除卷组
Do you really want to remove volume group "vg_zxj" containing logical volumes? [y/n]: y
Do you really want to remove active logical volume vg_zxj/lv_zxj? [y/n]: y
logical volume "lv_zxj" successfully removed
Volume group "vg_zxj" successfully removed
[root@localhost zxj]# pvremove /dev/sd{b,c} #删除物理卷
labels on physical volume "/dev/sdb" successfully wiped.
labels on physical volume "/dev/sdc" successfully wiped.
Linux磁盘管理及Lvm的更多相关文章
- 【转载】Linux磁盘管理:LVM逻辑卷管理
Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...
- Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用
在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...
- linux磁盘管理系列-LVM的使用
LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的LVM,分别是 LVM1,LVM2.LVM1是一种已经被认为稳定了几年的成熟产品,LVM2 是最新最好的LVM版本. ...
- Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理
一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该 ...
- Linux磁盘管理及LVM讲解
硬盘接口 硬盘接口分为IDE.SATA.SCSI和SAS四种, IDE接口硬盘多用于家用产品中,也部分应用于服务器.不支持热添加,比较老. SCSI接口的硬盘则主要应用于服务器市场.linux. 而S ...
- Linux磁盘管理之LVM
一.LVM介绍 在我们管理Linux磁盘的时候,通常会遇到这么一种情况.在最初规划Linux的磁盘的时候,我们给某个分区划分了一定量的磁盘空间,使用一段时间后,发现我们规划的磁盘空间不足了,这个时候怎 ...
- Linux磁盘管理及LVM讲解(week2_day2)--技术流ken
硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价 ...
- 七、Linux磁盘管理及LVM讲解
1.硬盘接口 IDE:家用产品,也部分应用于服务器 SATA:一般使用 SCSI:服务器市场 SAS:高端服务器上,价格昂贵 2.硬盘种类 SATA硬盘: SCSI硬盘: SAS硬盘: 3.分区 ...
- Linux磁盘管理系列 — LVM和RAID
一.逻辑卷管理器(LVM) 1.什么是逻辑卷管理器(LVM) LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对卷进行操作的抽象层. LVM是建立在硬盘 ...
随机推荐
- hdu 3038 How Many Answers Are Wrong【带权并查集】
带权并查集,设f[x]为x的父亲,s[x]为sum[x]-sum[fx],路径压缩的时候记得改s #include<iostream> #include<cstdio> usi ...
- IT兄弟连 JavaWeb教程 请求重定向案例
Check2Servlet类与Output2Servlet类之间为请求转发关系.在web.xml文件中,为Check2Servlet映射的URL为"/check2",为Output ...
- nginx部署h5项目
1. nginx部署h5项目 此为windows部署,liunx也类似的 1.1. 前言 部署h5项目还是很简单的,不过对小白来讲一开始可能也是一脸懵逼,这个简单教程针对的是从未部署过前后端分离前端项 ...
- svn项目添加到tomcat后,tomcat无法打开问题解决
1,tomcat版本更改 由7.0.81更改至8.0.47(8.5.23在添加至eclipse后版本不符无法使用) 更改版本后记得修改Server Locations-->双击服务器--> ...
- IE css hack整理
CSS hack由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozillafirefox等,对CSS的解析认识不一样,因此会导致生成的页面效果 ...
- UvalLive4670(AC自动机模板)
放上刘汝佳的模板: #include <cstdio> #include <cstring> #include <string> #include <algo ...
- Linux下用matplotlib画决策树
1.trees = {'no surfacing': { 0: 'no', 1: {'flippers': {0: 'no', 1: 'yes'}}}} 2.从我的文件trees.txt里读的决策树, ...
- Windows API函数大全二
4. API之打印函数 AbortDoc 取消一份文档的打印 AbortPrinter 删除与一台打印机关联在一起的缓冲文件 AddForm 为打印机的表单列表添加一个新表单 AddJob 用于获取一 ...
- 前端之HTML样式
<!doctype html> h5的文档声明 <html> 网页的根标签(根元素 html)--所有的代码都放置在此内 <head> <meta chars ...
- 用私有构造器或者枚举类型强化Singleton
参考Effective Java第三版 Joshua J. Bloch 参与编写JDK的大佬,上次看Collections的源码时看见了他的名字,然后翻了翻书,竟然就是他写的! 1.常见的一种: pu ...