Linux磁盘概念及其管理工具fdisk
Linux磁盘概念及其管理工具fdisk
| [日期:2016-08-27] | 来源:Linux社区 作者:chawan | [字体:大 中 小] |
引言:冯诺依曼体系中的数据存储器就是我们常说的磁盘或硬盘,它是计算机不可缺少的一个组件,下面来看看Linux中磁盘的基础概念及管理工具fdisk
实验环境CentOS7.2
磁盘概念
按磁盘属性分类有机械硬盘跟固态硬盘
(1)机械硬盘:内部真空
磁盘:正反面含有磁性物质的盘片,由一个马达固定所有磁盘转动,固定角速度
每个盘片正反面各有一个磁头,所有磁头固定在一个机械臂上
平均寻道时间:5400rpm, 7200rpm, 10000rpm, 15000rpm转速
track(磁道):每个盘片上出厂格式化
sector(扇区):512bytes单位
cylinder(柱面):不同盘面上同一编号的磁道组合在一起,分区划分按照柱面实现
越靠近较外部分区的柱面组成的分区,越快。Windows上c盘在最外面
(2)固态硬盘
类似与多个并行U盘,工作模式上模拟机械硬盘的机制。
电器设备,速度个人笔记本是原来的3到5倍,读400个iops(io per second)、写200iops
在正式介绍Linux设备文件前需先了解一个概念:MBR
MBR(Master Boot Record):主引导分区,为一个编号为0的512字节的扇区
446bytes:bootloader,引导加载器程序,主引导记录,引导启动操作系统的程序;
64bytes:分区表,每16bytes标识一个分区,一共只能有4个分区;
2bytes:表示MBA是否有效;55AA为有效;
注意:
1) 主分区最多四个,扩展分区只能一个
2) 扩展分区不能单独使用,要继续分成逻辑分区,逻辑分区可以由多个
3) 一个分区就是一个独立的文件系统
4) 主分区和扩展分区的标识:1-4;逻辑分区:5+
其在Linux中的创建新磁盘分区会涉及主分区与扩展分区内容
/dev
不管是机械硬盘还是固态硬盘对于Linux看来它都是属于/dev/下的文件
设备文件名
1)磁盘:IDE: /dev/hd[a-z]
SCSI, SATA, USB, SAS: /dev/sd[a-z]
2)分区:/dev/sda#: /dev/sda1, ...
注意:CentOS 6和7统统将硬盘设备文件标识为/dev/sd[a-z]#
/dev设备文件介绍
1)设备文件:关联至设备的驱动程序;设备的访问入口;
2)设备号:
major:主设备号,区分设备类型;用于标明设备所需要的驱动程序;
minor:次设备号,区分同种类型下的不同的设备;是特定设备的访问入口;
比如/dev/sd# :sd为主设备号,#为次设备号。
引用设备的方式:设备文件名,卷标,UUID
磁盘管理工具fdisk:
fdisk:
创建查看分区
(1)查看磁盘的分区信息:
命令使用格式:fdisk -l [-u] [device...]:列出指定磁盘设备上的分区情况;
(2)管理分区
命令使用格式:fdisk /dev/sd# :创建,删除,保存磁盘分区配置。
fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘上;
以下命令选项为m中的常用选项:
n:创建新分区 d:删除已有分区
t:修改分区类型 l:查看所有已经ID
w:保存并退出 q:不保存并退出
m:查看帮助信息 p:显示现有分区信息
命令演示:
1、对已使用的磁盘设备,创建新分区,若没有可用空间则自动退出。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[root@localhost ~]# fdisk /dev/sda欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):m命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)命令(输入 m 获取帮助):nPartition type: p primary (2 primary, 0 extended, 2 free) e extendedSelect (default p): p分区号 (3,4,默认 3):No free sectors available命令(输入 m 获取帮助): |
2、对新添加的磁盘创建新分区。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
[root@localhost ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。Device does not contain a recognized partition table使用磁盘标识符 0xd391e822 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): p分区号 (1-4,默认 1):起始 扇区 (2048-10485759,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+1G分区 1 已设置为 Linux 类型,大小设为 1 GiB命令(输入 m 获取帮助):w[root@localhost ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x00036006 设备 Boot Start End Blocks Id System/dev/sda1 * 2048 1026047 512000 83 Linux/dev/sda2 1026048 41943039 20458496 8e Linux LVM磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xd391e822 设备 Boot Start End Blocks Id System/dev/sdb1 2048 2099199 1048576 83 Linux |
3、创建扩展分区,及删除已存在分区
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
[root@localhost ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): e分区号 (2-4,默认 2):起始 扇区 (2099200-10485759,默认为 2099200):将使用默认值 2099200Last 扇区, +扇区 or +size{K,M,G} (2099200-10485759,默认为 10485759):+1G分区 2 已设置为 Extended 类型,大小设为 1 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xd391e822 设备 Boot Start End Blocks Id System/dev/sdb1 2048 2099199 1048576 83 Linux/dev/sdb2 2099200 4196351 1048576 5 Extended扩展分区创建完毕,下面在扩展分区上创建逻辑分区,大家可以看到其标号从5开始命令(输入 m 获取帮助):nPartition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5)Select (default p): l添加逻辑分区 5起始 扇区 (2101248-4196351,默认为 2101248):将使用默认值 2101248Last 扇区, +扇区 or +size{K,M,G} (2101248-4196351,默认为 4196351):+100M分区 5 已设置为 Linux 类型,大小设为 100 MiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xd391e822 设备 Boot Start End Blocks Id System/dev/sdb1 2048 2099199 1048576 83 Linux/dev/sdb2 2099200 4196351 1048576 5 Extended/dev/sdb5 2101248 2306047 102400 83 Linux |
保存退出后,将逻辑分区删除
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。[root@localhost ~]# fdisk -l... 设备 Boot Start End Blocks Id System/dev/sdb1 2048 2099199 1048576 83 Linux/dev/sdb2 2099200 4196351 1048576 5 Extended/dev/sdb5 2101248 2306047 102400 83 Linux...[root@localhost ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):d分区号 (1,2,5,默认 5):5分区 5 已删除命令(输入 m 获取帮助):p磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xd391e822 设备 Boot Start End Blocks Id System/dev/sdb1 2048 2099199 1048576 83 Linux/dev/sdb2 2099200 4196351 1048576 5 Extended命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。[root@localhost ~]# fdisk -l... 设备 Boot Start End Blocks Id System/dev/sdb1 2048 2099199 1048576 83 Linux/dev/sdb2 2099200 4196351 1048576 5 Extended... |
注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别;
通知内核强制重读磁盘分区表:
查看:cat /proc/partitions
CentOS 5:partprobe [device]
CentOS 6,7:partx, kpartx
partx -a [device]
kpartx -af [device]
Linux磁盘概念及其管理工具fdisk的更多相关文章
- 【one day one linux】linux下的软件包管理工具
Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...
- linux磁盘存储管理基本命令和工具
1 磁盘在linux表示方法 (1) IDE硬盘:hd[a~z]x,主设备号+次设备号+磁盘分区编号/hd(0-n,y) (2)SCSI硬盘:sd[a~z]x/hd(0-n,y) 注:主设备号可以唯一 ...
- Linux 磁盘原理与管理 (分区 挂载)
目前硬盘与主机系统的联系主要有几种传输介面规格: IDE介面: IDE介面插槽所使用的排线较宽,每条排线上面可以接两个IDE装置,由於可以接两个装置,那为了判别两个装置的主/从架构, ...
- linux的RPM软件包管理工具
RPM(Redhat Package Manage)原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采 ...
- Linux系统——Ansible批量管理工具
批量管理工具: (1)ansible 操作简单(适用于500台以下服务器) (2)saltstack 比较复杂(一般适用于1000-4w台服务器) (3)puppet超级复杂 systemctl(统一 ...
- Linux常用命令-软件包管理工具-rpm
命令简介 rpm(RPM Package Manager)是一个强大的命令行驱动的软件包管理工具,用来安装.卸载.校验.查询和更新 Linux 系统上的软件包. 语法格式 rpm [OPTION... ...
- Linux Kafka集群管理工具kafka-manager的安装使用
一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...
- Linux磁盘及文件系统管理 2---- 使用fdisk进行磁盘管理
1 FDISK分区工具 1 fsidk是来自IBM的分区工具,支持绝大多数的操作系统,几乎所有的Linux都装有fdisk 2 fdisk是一个支持MBR的分区工具,如果要使用GPT的话我们无法使用f ...
- Linux下安装MySQL管理工具MySQL Administrator和MySQL Query Browser(转载)
文章来源:http://blog.csdn.net/sunrier/article/details/7572299 Linux下MySQL Administrator和MySQL Query Brow ...
随机推荐
- git 变基(无卵用)
在当前分支执行rebase即可,会将提交的记录变成一条直线 git rebase
- App架构师实践指南二之App开发工具
App架构师实践指南二之App开发工具 1.Android Studio 2.编译调试---条件断点.右键单击断点,在弹出的窗口中输入Condition条件.---日志断点.右键单击断点,在弹 ...
- BTrace使用简介
很多时候在online的应用出现问题时,很多时候我们需要知道更多的程序的运行细节,但又不可能在开发的时候就把程序中所有的运行细节都打印到日志上,通常这个时候能采取的就是修改代码,重新部署,然后再观察, ...
- 解决无法安装Flash Player的问题
1.同时搜索几个关键词:关键词用空格分开,例如:“中国 历史”会搜索显示同时包含中国.历史两个词的网页 2.排除某个关键词:被排除的词前面加上-号,例如“中国 历史 -清朝”会把有清朝两个字的网页过滤 ...
- 面试题:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。(c++实现)
实例说明 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ...
- Go语言之高级篇beego框架之model设计构造查询
一.model设计构造查询 QueryBuilder 提供了一个简便,流畅的 SQL 查询构造器.在不影响代码可读性的前提下用来快速的建立 SQL 语句. QueryBuilder 在功能上与 ORM ...
- 一步一步开发sniffer(Winpcap+MFC)(五)莫道无人能识君,其实我懂你的心——解析数据包(转)
前文已经讲过,解析数据包主要通过analyze_frame()这个函数实现的,实际上并非这个函数完成了所有的功能,其实从名字就可以看出,它只是完成了对“帧”的解析,也就是链路层数据的解析,还有anal ...
- windows下php7.1安装redis扩展以及redis测试使用全过程(转)
最近做项目,需要用到redis相关知识.在Linux下,redis扩展安装起来很容易,但windows下还是会出问题的.因此,特此记下自己实践安装的整个过程,以方便后来人. 一,php中redis扩展 ...
- ng-repeat不添加容器标签
如UL中的循环, 我们不期望添加额外的div之类的容器标签, 使用ng-repeat-start和ng-repeat-end可以实现 <li class="item item-icon ...
- linux下使用mingw编译NSIS-3.03
简述 最近在研究使用NSIS做安装包,语法不算复杂,插件也很多,中文资料也不少,还挺好用的.先后用NSIS做出了安装和卸载需要输入密码,通过自定义页面实现安装时候选择多个目录.安装的时候输入配置文件信 ...