热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux磁盘管理及Lvm

1.硬盘接口IDE:SATA:常用;SCSI:主要用于高端服务器,linux默认;SAS2.硬盘

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_zxjSystem iD Format lvm2Metadata areas 2Metadata Sequence No 1VG access read/writeVG Status resizableMaX lV 0Cur lV 0Open lV 0Max PV 0Cur PV 2act PV 2VG Size 39.99 GiBPE Size 4.00 MiBTotal PE 10238alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiBVG 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=512 agcount=4, agsize=32000 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data
= bsize=4096 blocks=128000, imaxpct=25= sunit=0 swidth=0 blks
naming
=version 2 bsize=4096 ascii-ci=0 ftype=1
log
=internal log bsize=4096 blocks=855, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime
=none extsz=4096 blocks=0, rtextents=0
[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 6% /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 #逻辑卷大小为500Mlogical volume "ext4_zxj" created.
[root@localhost zxj]#
0 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 1% /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 (125 extents) to 700.00 MiB (175 extents).logical volume vg_zxj/ext4_zxj successfully resized.
[root@localhost zxj]# resize2fs
-f /dev/vg_zxj/ext4_zxj #内层缩容
resize2fs
1.42.9 (28-Dec-2013)
Resizing the filesystem on
/dev/vg_zxj/ext4_zxj to 716800 (1k) blocks.
The filesystem on
/dev/vg_zxj/ext4_zxj is now 716800 blocks long.
[root@localhost zxj]# e2fsck
-f /dev/vg_zxj/ext4_zxj #查看磁盘完整性
e2fsck
1.42.9 (28-Dec-2013)
Pass
1: Checking inodes, blocks, and sizes
Pass
2: Checking directory structure
Pass
3: Checking directory connectivity
Pass
4: Checking reference counts
Pass
5: Checking group summary information
/dev/vg_zxj/ext4_zxj: 11/178816 files (0.0% non-contiguous), 33345/716800 blocks
[root@localhost zxj]# mount
/dev/vg_zxj/ext4_zxj /zxj2 #挂载
3[root@localhost zxj]# df -h #查看
/dev/mapper/vg_zxj-ext4_zxj 670M 2.5M 629M 1% /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.9 (28-Dec-2013)
Resizing the filesystem on
/dev/vg_zxj/ext4_zxj to 204800 (1k) blocks.
The filesystem on
/dev/vg_zxj/ext4_zxj is now 204800 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]: ySize of logical volume vg_zxj/ext4_zxj changed from 700.00 MiB (175 extents) to 200.00 MiB (50 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 1% /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 0. Wipe it? [y/n]: yWiping 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 6% /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 (125 extents) to 700.00 MiB (175 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=512 agcount=4, agsize=32000 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0
data
= bsize=4096 blocks=128000, imaxpct=25= sunit=0 swidth=0 blks
naming
=version 2 bsize=4096 ascii-ci=0 ftype=1
log
=internal bsize=4096 blocks=855, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime
=none extsz=4096 blocks=0, rtextents=0
data blocks changed
from 128000 to 179200
[root@localhost zxj]# df
-h #查看卷组,成功扩容
/dev/mapper/vg_zxj-lv_zxj 697M 26M 672M 4% /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]: ylogical volume "ext4_zxj" successfully removed
[root@localhost zxj]# vgremove vg_zxj #删除卷组
Do you really want to remove volume group
"vg_zxj" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume vg_zxj
/lv_zxj? [y/n]: ylogical volume "lv_zxj" successfully removedVolume 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.


转:https://www.cnblogs.com/ajunyu/p/10878424.html



推荐阅读
  • 高可用架构_MySQL高可用架构设计
    文章来自于https:www.jianshu.compd3107bda2963PHP进阶学习交流QQ群:983229225Mysql复制功能介绍Mysql的复制功能提 ... [详细]
  • 主从复制_mysql主从复制简介
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了mysql主从复制简介相关的知识,希望对你有一定的参考价值。  ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • Non-ASCIIhelponitsownisOK: ... [详细]
  • 文件上传漏洞利用介绍
    目录文件上传漏洞利用介绍1.绕过js验证2.绕过MIME-TYPE验证3.绕过基于黑名单验证基于文件后缀名验证介绍基于文件后缀名验证方式的分类基于黑名单验证代码分析利 ... [详细]
  • SVN自动化正文共:5007 字预计阅读时间: 13 分钟平时自己多用Git来做版本控制,但很多公司内部依旧使用SVN,核心原因其实就是SVN够用了,懒得换,虽然自己用git,但对 ... [详细]
  • idea激活服务器 3月最新注册码
    idea激活服务器3月最新注册码,https:www.yht7.comidea。详细ieda激活码不妨到云海天教程 ... [详细]
  • 搭建lvs+keepalived+mfs+nagios架构
    搭建,lvs,keepalived,mfs ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
author-avatar
纠结丿灬情殇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有