Linux上天之路(十)之Linux磁盘管理
主要内容
磁盘介绍
磁盘管理
磁盘限额
逻辑卷管理
磁盘阵列
1. 磁盘介绍
硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些参数可以得到硬盘的容量,基计算公式为:
存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
磁盘结构
MBR(主引导记录)位于硬盘第一个物理扇区(绝对扇区)柱面0,磁头0,扇区1处。由于DOS是由柱面0,磁头1,扇区1开始,故MBR不属于DOS扇区,DOS不能直接访问。MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区。记录区就是记录有关分区信息的一张表。它从主引导记录偏移地址01BEH处连续存放,每个分区记录区占16个字节。
磁盘的表示方法
/dev/sda1
sd 代表磁盘接口类型 USB SATA SAS等接口 IDE 用hd表示
a b c 磁盘的顺序
1 2 3 4磁盘中的分区号
2. 磁盘管理
磁盘分区、格式化、挂载
计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。
- fdisk命令
fdisk磁盘分区命令
fidsk [命令选项] [参数]
命令选项
-l list 列出磁盘分区
-u 与-l一起使用,显示分区的相关信息
fdisk /dev/sda 为/dev/sda分区
m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
命令缺点:单个分区不能超过2T 超过的话需要用parted命令
在linux 下大磁盘的分区不能再采用fdisk了,MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表。
- parted磁盘分区命令
分区步骤
1)将磁盘指定为GPT格式
2)分区
分区信息显示:
- dumpe2fs命令
注意:dumpe2fs是查看ext2/ext3/ext4 文件系统信息的命令
dumpe2fs /dev/sda1
dumpe2fs 1.39 (29-May-2006)
Filesystem volume name: /boot
Last mounted on:
Filesystem UUID: e8697a35-7768-45c3-8063-15b0ba67d796
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 26104
Block count: 104388
Reserved block count: 5219
Free blocks: 89714
Free inodes: 26070
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2008
Inode blocks per group: 251
Filesystem created: Tue Oct 15 10:37:16 2013
Last mount time: Wed Oct 16 06:20:21 2013
Last write time: Wed Oct 16 06:20:21 2013
Mount count: 3
Maximum mount count: -1
Last checked: Tue Oct 15 10:37:16 2013
Check interval: 0 ()
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: tea
Directory Hash Seed: 4e3f02e9-f3d1-4ad1-b87c-8f6258c50435
Journal backup: inode blocks
Journal size: 4114k
- blkid命令 查看磁盘分区 UUID信息
# blkid /dev/vda1
/dev/vda1: UUID="eb448abb-3012-4d8d-bcde-94434d586a31" TYPE="ext4"
mkfs命令 磁盘格式化
格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。
-L 标签名
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
-b : 给定 block 的大小
关于block and inode dentry
实验发现这句话不对
block越大,inode越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统。
磁盘分区格式化
mkfs.ext4 /dev/sda3
- mount
mount - mount a filesystem
命令语法
mount device dir
命令选线
-a 挂载所有文件系统,参考文件 /etc/fstab
-l 显示当前挂载
-t 文件系统类型
-o 指定挂载权限
- umount
mount - mount a filesystem
命令语法
mount device dir
命令选线
-a 挂载所有文件系统,参考文件 /etc/fstab
-l 显示当前挂载
-t 文件系统类型
-o 指定挂载权限
- 自动挂载 /etc/fstab文件
设备 挂载点 文件系统 权限 备份 检测
第一列 设备源文件或者UUID
第二列 设备挂载点
第三列 文件系统类型
第四列
auto: 系统自动挂载,fstab默认就是这个选项
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载 第五列是dump备份设置。
当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作; 第六列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
3. 磁盘限额
解决了共用存储环境中,用户使用量的问题。
1)开启磁盘限额功能
修改/etc/fstab 文件,在指定的分区权限字段加入对应的限额项(usrquota,grpquota)
usrquota 针对用户做限额
grpquota 针对组做限额
2)重挂磁盘生效
mount -o remount /dev/sdb1
3)扫描磁盘,统计用户现在的使用情况
quotacheck -avug
4)编辑限额项
edquota username | groupname
-u 设置用户的quota,这是预设的参数。
-g 设置群组的quota。
-p<源用户名称> 将源用户的quota设置套用至其他用户或群组
-t 设置宽限期限。
-vu/g 查看用户/组使用情况
5)开启限额
quotaon -a
4. LVM逻辑卷管理
在分区的时候,每个分区应该分多大是令人头疼的,而且随着长时间的运行,分区不管你分多大,都会被数据给占满。当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。
虽然现在有很多动态调整磁盘的工具可以使用,但是它并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解决问题。
因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。那么我们可以通过逻辑盘卷管理(LVM,Logical Volume Manager)的方式来非常完美的实现这一功能。
解决思路:将所有可用存储汇集成池,当池中某个分区空间不够时就会从池中继续划分空间给分区,池中空间不够就可以通过加硬盘的方式来解决。
使用逻辑:inux 分区——(转换)物理卷—(N个组成)卷组——(分为N个)逻辑卷
名词解释:
物理卷
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数
卷组
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
逻辑卷
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
PE
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
LE
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
物理卷管理
物理卷的创建—-pvcreate命令
pvcreate [命令选项] [参数]
将物理分区转换为物理卷
命令选项
-f:强制创建物理卷,不需要用户确认;
-u:指定设备的UUID;
-y:所有的问题都回答“yes”;
-Z:是否利用前4个扇区。
物理卷的移除—-pvremove命令
pvremove [命令选项] [参数]
将物理卷转换为普通linux分区
命令选项
-d 调试模式
-f 强制删除
-y 对提问回答“yes”
物理卷查看命令
pvs 显示PV简况
pvdisplay 显示PV详细信息
物理卷扫描命令—-pvscan
卷组管理
将多个物理卷组成一个卷组,形成一个存储池
vgcreate命令
vgcreate -s 32 vg1000 /dev/sdb1 /dev/sdc1
vgcreate命令
vgcreate -s 32 vg1000 /dev/sdb1 /dev/sdc1
vgreduce命令
vgreduce /dev/vg1000 /dev/sdb1
vgextend命令
vgextend /dev/vg1000 /dev/sdb1
逻辑卷管理
lvcreate命令
lvcreate -n lv99 -L 3G /dev/vg1000
lvextend命令
#enlarge logical volume
lvextend -L 3.5G /dev/vg1000/lv99
resize2fs /dev/vg1000/lv99
lvreduce命令
#shrink logical volume
e2fsck -f /dev/vg1000/lv99
resize2fs /dev/vg1000/lv99 2G
lvreduce -L 2G /dev/vg1000/lv99 (lvresize)
逻辑卷移除
#remove LVM
umount /dev/vg1000/lv99
lvremove /dev/vg1000/lv99
vgremove /dev/vg1000/
pvremove /dev/sdb1 /dev/sdc1
注意:
PE 和 LE的说明及应用策略
PE(physicalextent)
每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
*LE(logicalextent)
逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
设置使用大小为4MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以4MB为增量单位来进行扩充 或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE。PE大小范围为8KB到512MB,并且必须总是2的倍数
5. 磁盘阵列
mdadm命令
mdadm tools
mdadm -C /dev/md1 -l 5 -n 3 /dev/sd{b,c,d}1
cat /proc/mdstat
mdadm —detail /dev/md1
#create raid config file
echo “DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 “ >> /etc/mdadm.conf
mdadm -Ds >> /etc/mdadm.conf
#mount raid 5
mkfs.exte /dev/md1
mount /dev/md1 /data
#stop raid 5
umount /data
mdadm -S /dev/md1 故障模拟
新添加一块新盘到系统 sde5
mdadm /dev/md1 —add /dev/sde (mdadm -a /dev/md1 /dev/sde1)
mdadm -f /dev/md1 /dev/sdc1 cat /proc/mdstat
md1 : active raid5 sde[3] sdd1[2] sdc14 sdb1[0]
4192768 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U]
[=>……………….] recovery = 5.7% (121300/2096384) finish=0.8min s
[=>……………….] recovery = 5.7% sde recovery 开始接替sdc工作
[===================>.] recovery = 95.5% #remove /dev/sdc1
mdadm -r /dev/md1 /dev/sdc1 #boot raid
mdadm -As 思考 raid10 raid1+raid1—>raid0 (启动raid中先启动raid1 后启动 raid0 关闭raid 先关上层raid0,在关闭raid1)
Linux上天之路(十)之Linux磁盘管理的更多相关文章
- Linux学习之CentOS(十四)----磁盘管理之 硬连接与软件连接(转)
前言 在 Linux 底下的连结档有两种,一种是类似 Windows 的快捷方式功能的文件,可以让你快速的链接到目标文件(或目录),这种是软链接: 另一种则是透过文件系统的 inode 连结来产生新档 ...
- Linux学习笔记(十四)磁盘管理(二):格式化、挂载以及Swap分区
一.格式化 第一种写法 mkfs.文件系统 [分区名称(设备文件路径)] 例如:对sdb硬盘的第一个分区以ext3文件系统进行格式化 第二种写法 mkfs -t 文件系统 [分区名称(设备文件路径) ...
- Linux上天之路系列目录
Linux上天之路系列目录 Linux上天之路(一)之Linux前世今生 Linux上天之路(二)之Linux安装 Linux上天之路(三)之Linux系统目录 Linux上天之路(四)之Linux界 ...
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- linux 学习之路(学linux必看)
很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...
- linux进阶之路(二):linux文件目录
Linux的目录结构: Linux文件系统采用级层式的目录结构,最上层是根目录"/",在此目录下再创建其他目录. 树状的文件目录.再Linux世界,一切皆文件. /etc 所有系统 ...
- linux进阶之路(一):linux入门
Linux:开源.免费得开源系统.具有高效性.稳定性.安全性.处理多并发. Linux的发行版本:基于Linux,不同的安装软件 CentOS(RedHat开源版本) RedHat Ubuntu Su ...
- Linux上天之路(十二)之服务管理
主要内容 服务介绍 独立服务 非独立服务 1. 服务介绍 服务:常驻在内存中的程序,且可以提供一些系统或网络功能,那就是服务. 计算机中的系统服务有很多,比如: apache提供web服务 ftp提供 ...
- Linux上天之路(十五)之文件查找
主要内容 精确查找 模糊查找 1. 精确查找 find - search for files in a directory hierarchy 递归地在层次目录中处理文件 查找方式: 按文件属性查找 ...
随机推荐
- 关于@Autowired和@Resource注解区别
区分一下@Autowired和@Resource两个注解的区别: 1.@Autowired默认按照byType方式进行bean匹配,@Resource默认按照byName方式进行bean匹配 2.@A ...
- HMS Core版本发布公告
新增动作捕捉能力.通过简单拍摄即可获得人体3D骨骼关键点数据,广泛应用于虚拟形象.体育运动和医学分析等场景: 3D物体建模能力iOS版本上线. 查看详情>> 新增道路吸附能力.可根据坐标点 ...
- LuoguP4759 [CERC2014]Sums 题解
Content 给定 \(t\) 组数据,每组数据给定一个数 \(n\),判断 \(n\) 是否能够分解成连续正整数和,能的话给出最小数最大的方案. 数据范围:\(1\leqslant n\leqsl ...
- WPF控件界面自适应
之前就听说WPF流式布局,顺滑的很.但由于专业只学习了winform,工作对界面的要求并不高一直没去玩它.目前公司一些软件都是WPF布局,加上工作内容涉及Socket通讯较多,决定用WPF做一个通讯小 ...
- JAVA获取指定日期是星期几
/** * 获取指定日期是星期几<br> * * @param date * @return 指定日期是星期几 */ public static String getWeekOfDate( ...
- 【LeetCode】773. Sliding Puzzle 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/sliding- ...
- 【LeetCode】915. Partition Array into Disjoint Intervals 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/partitio ...
- 1188 最大公约数之和 V2
1188 最大公约数之和 V2 题目来源: UVA 基准时间限制:2 秒 空间限制:262144 KB 给出一个数N,输出小于等于N的所有数,两两之间的最大公约数之和. 相当于计算这段程 ...
- 对XSS的插入的新了解,灵感来自天驿安全
此次针对的是通过Get请求进行插入的XSS语句,或者dom型的xss,也算是了解到的新的插入方式 首先,JavaScript语言中存在拼接性 可以通过代审后闭合前置语句进行self测试是否可以拼接 s ...
- Java 将Excel转为OFD
OFD是一种开放版式文档(Open Fixed-layout Document )的英文缩写,是我国国家版式文档格式标准.本文,通过Java后端程序代码展示如何将Excel转为OFD格式.方法步骤如下 ...