Linux磁盘分区总结
前言
关于磁盘的分区操作,是运维的必备技能,fdisk也应该是大家最常用的命令。因为fdisk命令可以解决大多数的磁盘分区问题,它可以将不大于2T的硬盘进行分区,而我们在生产中最常用的硬盘大小不超过2个T(视公司规模而定),当然有的时候,我们也会有对更大容量的需求,因此我们就会使用更大空间的硬盘,但是如果是用fdisk对2T以上的硬盘进行分区就会出现问题。下面介绍的就是Linux的磁盘分区,包含2T以上的磁盘的分区方法。
磁盘分区常识
【1】硬盘分区表基础概念
硬盘分区表是支持硬盘正常工作的架构。其意义在于操作系统会根据硬盘的分区表把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,使系统可以写入数据。不同的硬盘分区表就像是对一个房子的不同的装修方案。
到现在这篇文章为止,主要磁盘分区使用的分区表有MBR和GPT两种。
【2】MBR和GPT分区表的区别
MBR分区表
主引导记录分区方案,是传统的分区方案;
只能记录4个分区的信息,硬盘主分区数目不能超过4个。(MBR扇区每个分区项使用16个字节存储,总共只有64个字节用于分区表);
无法支持超过2TB容量的磁盘,对超过2T的硬盘分区只能使用2T空间。
GPT分区表(又称GUID分区表)
全局唯一标识分区表,是较新的分区机制;
理论上每个磁盘的分区个数和大小几乎没有限制;
(Windows系统最多只允许划分128个分区,所以windows系统磁盘分区时使用此分区方案,最多128分区)支持超过2T的磁盘;
可兼容MBR。
分区表自带备份。
(会在磁盘的首尾部分,分别保存了一份相同的分区表。其中一份被破坏后,可以通过另一份恢复)
磁盘分区挂载操作
注意:
由于使用虚拟机演示,磁盘显示为vd。
虚拟机的磁盘一般显示为似vda的类型,真实机磁盘显示为sda的类型
fdisk命令对应MBR分区表
parted命令对应GPT分区表
【1】不大于2T的磁盘分区
<1>查看硬盘信息
方法一:lsblk
方法二:fdisk -l
中文版
英文版
<2>创建新硬盘分区
右上方可知新磁盘为vdb,其空间为100G,不大于2T,所以使用fdisk对其分区
磁盘默认都在/dev下,可用Tab补全
{1}fdisk /dev/vdb
{2}输入m,列出菜单
a toggle a bootable flag 设置可启动标记
b edit bsd disklabel 设置一个bsd磁盘标记
c toggle the dos compatibility flag 设置dos兼容标记
d delete a partition 删除一个分区
l list known partition types 列出已知分区类型
m print this menu 列出菜单
n add a new partition 添加一个分区
o create a new empty DOS partition table 新建一个空的DOS分区表
p print the partition table 显示该磁盘当前分区信息
q quit without saving changes 不保存退出
s create a new empty Sun disklabel 创建一个空的SUN磁盘标签
t change a partition's system id 修改分区ID
u change display/entry units 修改显示单元
v verify the partition table 检验分区表
w write table to disk and exit 保存并退出
x extra functionality (experts only) 额外的功能(专家模式)
{3}输入n,创建一个分区
{4}输入p,创建逻辑分区
Select (default p): p 创建逻辑分区
Partition number (1-4, default 1): 1 划分逻辑分区1号
First sector (2048-209715199, default 2048): 回车默认从第一个柱面开始划分(一般都使用默认,直接回车)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): 划分分区大小(格式:+800M);直接回车,会默认将剩余空间全部划分给此分区
Using default value 209715199
Partition 1 of type Linux and of size 100 GiB is setCommand (m for help): p 显示该磁盘当前分区信息Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000Device Boot Start End Blocks Id System
/dev/vdb1 2048 209715199 104856576 83 LinuxCommand (m for help): w 保存并退出
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
<3>创建后查看
lsblk
出现vdb1,即成功
<4>格式化分区
本次将其格式化为ext4的文件系统,可选其他文件系统
mkfs.ext4 /dev/vdb1
<5>挂载
可创建一个目录将其挂载,也可直接挂载到已有的目录
挂载方式有很多种,按需选择
本次,直接挂载到/mnt,使用永久挂载
挂载最好使用UUID,并进行永久挂载。可避免Linux系统重启后,磁盘设备名发生更导致的问题。
{1}写入文件
echo “/dev/vdb1 /mnt ext4 defaults 0 0” >>/etc/fstab
{2}刷新挂载并查看
mount -a
df -Th
【2】大于2T,小于等于16T的磁盘分区
<1>创建新硬盘分区
本次使用的是4T的磁盘演示,由于大于2T使用GPT分区表,使用parted 命令分区
如使用fdisk分区,将只有2T空间可用
parted /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.(parted) mklabel gpt 创建分区表,磁盘类型为gptWarning: The existing disk label on /dev/sdx will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes 选择yes,为清除磁盘原有信息;根据需求选择(parted) unit TB 设置单位为TB(parted) mkpart primary 0 4 创建4T的分区(0 4分别意为起始点和结束点)(parted) print 查看分区信息Number Start End Size File system 标志
数字 开始 结束 大小 文件系统 标志(parted) quit 保存并退出
其查看磁盘、分区格式化、挂载操作都与小于2T的磁盘的操作是相同的,就不演示了,可参考上方的小于2T的磁盘格式化,挂载操作。
<2>分区及挂载后最终结果
lsblk
【3】大于16T的磁盘分区
演示一种情况
由于cobbler错误的分区格式导致,16T以上的空间,在装完系统后,只能看到分区仅为16T,还有部分空间看不到且未分配
(避免误操作可先将文件备份到其他服务器)
<1>将剩余空间进行分区
parted /dev/sda GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print #查看分区信息
Model: DELL PERC H730P Mini (scsi)
Disk /dev/sda: 40.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gptNumber Start End Size File system Name Flags
#分区编号 开始 结束 大小 文件系统 分区名 标志 1 1049kB 211MB 210MB ext42 211MB 108GB 107GB ext43 108GB 116GB 8590MB linux-swap(v1)4 116GB 17.7TB 17.6TB ext4(parted)mkpart #创建分区
Partition name? []? gpt2 #指定分区名称
File system type? [ext2]? xfs #指定分区文件格式(16T以上建议先使用xfs)
Start? 17.7TB #指定该分区开始位置 通常为上一个分区的End
End? -1 #指定该分区结束位置 -1代表直到最后(最后的所有空间)
(parted)p #同print,打印分区信息
(parted)quit #保存并退出
因为直接在硬盘生效,调整分区要小心
<2>如果调整中弹出如下报错
分区后,lsblk看不到新的分区
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙). As a result, it may not reflect all of your changes until after reboot.
这种情况可以使用partx命令,或重启服务器
partx -a /dev/sda
partx用来告诉内核当前磁盘的分区情况,对一个磁盘或者分区表类型,尝试解析分区表 。不同于fdisk,增加或删除分区对磁盘造成改变,只是告诉内核当前磁盘的分区情况
partprobe通常在RHEL 5中用来通知操作系统的磁盘上的分区表变化或更改。在RHEL 6中,只有当那些磁盘上任何分区都没有在使用的磁盘下(例如,mounted)它才会触发OS去更新磁盘的分区表。如果磁盘上的任何分区正在使用中,partprobe命令不会触发操作系统去更新分区表的信息。
<3>格式化
(如果可以看到新分区)
当磁盘空间大于16T使用mkfs格式化成ext4,会无法完全格式化,只能格式成xfs
vim /etc/mke2fd.conf#vim /etc/mke2fs.conf[fs_types]ext3 = {undefinedfeatures = has_journal}ext4 = {undefinedfeatures = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isizeauto_64-bit_support = 1 #添加这一行inode_size = 256}
访问https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/下载软件
或
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.gitcd e2fsprogs
./configure make && make install
mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -i 2048 /dev/sda5
补充
【1】取消挂载命令
umount /mnt/
【2】fdisk取消分区命令
取消分区前该分区必先取消挂载
fdisk /dev//vdb
Command (m for help): d 删除分区(如果只有一个分区,就不会出现要删除的分区的选项) Command (m for help): p 列出此磁盘当前分区信息Command (m for help): w 退出并保存
【3】parted取消分区命令
取消分区前,该分区的数据如果有用,必须先备份,然后取消挂载,再调整分区
parted /dev/sdb
(parted) rm 删除 Partition number? 3 删除第三个分区parted) print 查看当前分区情况
Linux磁盘分区总结相关推荐
- linux最常用的目录表示,Linux磁盘分区的命名方式和常用目录?【每日一个知识点第84期-Linux】...
磁盘分区对于入门的linux来说,是非常入门的技能,也是日常管理中常用技能之一,今天我们来做一个回顾,帮助大家提升磁盘分区的技能. [84期主题]Linux磁盘分区的命名方式和常用目录? Linux分 ...
- Linux磁盘分区了解多少?Linux入门必看
磁盘分区,顾名思义就是对电脑中的硬盘进行空间划分,这样不仅有利于备份,还可以对文件进行分门别类.那么你对Linux磁盘分区了解多少呢?我们通过这篇文章来学习一下. Linux磁盘分区主要分为基本分区和 ...
- linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例
转自:truemylife.linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例 基本概念: 磁盘.分区.物理卷[物理部分] 卷组[中间部分] 逻辑卷.文件系统[虚拟化后可控制部分] 磁 ...
- Linux 磁盘分区 Fdisk
linux磁盘分区:fdisk(小于2T的分区工具) [root@zyl ~]# fdisk -l #####查看磁盘空间 Disk /dev/sda: 16.1 GB, 161 ...
- linux磁盘第一个扇区分析,Linux磁盘分区
一.磁盘连接方式与设备文件名的关系 计算机常见的磁盘接口有两种,分别是IDE与SATA接口,目前主流接口已经是SATA接口了. 一个IDE扁平电缆可以连接两个IDE设备,通常主机又都会提供两个IDE接 ...
- linux中fdisk的参数,Linux fdisk命令参数及用法详解--Linux磁盘分区管理命令fdisk
fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...
- linux 磁盘监控,9个在Linux中监视Linux磁盘分区和用法的工具
在这篇文章中,我们将回顾一些Linux的命令行工具 ,你可以使用它来检查磁盘分区在Linux中. 监控存储设备空间使用情况是SysAdmin的最重要的任务之一,这有助于确保存储设备上有足够的可用空间, ...
- linux 磁盘分区,格式化,挂载
在操作系统中,磁盘管理属于设备管理的范畴,一块硬盘安装到主机之后称为裸设备,若要能够linux系统中使用必须对其进行如下步骤: 分区 --> 格式化 --> 挂载 1. linux 系统中 ...
- 实训|第七天横扫Linux磁盘分区、软件安装障碍附制作软件仓库
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
- LINUX磁盘分区挂载笔记
目录 一.Linux磁盘分区 ① 基本分区与扩充分区 ② 对比windows磁盘分区 二.管理Linux主分区(基本分区) ① 新增一个主分区 ② 删除一个主分区 三.管理Linux扩充分区 ① 新增 ...
最新文章
- EGL接口介绍-----Android OpenGL ES底层开发
- Qt安装及配置_很详细(附下载网址)
- 全国计算机等级考试三级网络技术考试大纲
- Jupyter 绘图怎么显示中文
- jvm虚拟机内存结构_JVM体系结构101:了解您的虚拟机
- HTML5触摸事件演化tap事件
- 动态规划—最长上升子序列(POJ 1458)
- [转]基于Storm的实时数据处理方案
- 结构型模式-装饰模式(扩展系统功能)
- 警告 1 warning C4996: ‘scanf‘: This function or variable may be unsafe.
- JavaScript学习(八十四)—变量
- iOS新的旅程之Swift语言的学习
- 《全局光照技术》在摩点网发起众筹活动
- c语言解线性方程组矩阵形势,c语言解线性方程组.docx
- 百度竞价有没有好的推广方法?
- String intern方法
- easypoi.excel 导入不固定的合并单元格数据
- Combining Character
- ADB命令开关闭手机WIFI以及下拉(收缩)状态栏
- 门铃质检报告办理快速发证