磁盘管理之分区
来源:互联网 发布:java项目开发心得体会 编辑:程序博客网 时间:2024/05/16 09:46
- 块设备b和字符设备c的区别
- 主设备号与次设备号
- 磁盘设备文件名 devDEV_FILE
- 硬盘存储术语
- 容量单位K
- 磁盘三维CHS
- 增加磁盘触发磁盘扫描
- 两种分区方式MBR 和GPT
- MBRMaster Boot Record
- 分区图
- GPTGUID Globals Unique Identifiers partition
- 显示分区信息
- 分区工具
- 图形化磁盘管理功能工具点击应用程序- 系统
- fdisk 创建MBR 分区
- parted 选项 备 设备 令 命令 参数 创建分区
- 转换分区表类型
- 查看分区表信息
- 新增分区
- 删除分区
- 列出分区详细信息parted -l
- centos6通知内核重新读取硬盘分区表
- 新增分区用
- 删除分区用
- parted 分区实例
- gdisk 创建GPT 分区
- parted 高级分区操作创建复制调整大小等等
- partprobe和partx -a 重新设置内存中的内核分区表版本
- 触发磁盘扫描一般安装新硬盘用此方法触发扫描
- 备份分区表 dd ifdevsda offilename bs1 count512
- 清空分区
- 查看分区表内容
- 恢复
- parted实现
块设备b和字符设备c的区别
块设备:block ,存取单位“块”,是实实在在的硬件,一般是磁盘
find / -type b/dev/dm-1/dev/dm-0/dev/sda2/dev/sda1/dev/sda/dev/sr0dm-0,dm-1是linux内核留给本地使用的设备号,这类设备在/dev/mapper中ll /dev/mapper/total 0lrwxrwxrwx. 1 root root 7 Apr 19 06:16 cl-root -> ../dm-0lrwxrwxrwx. 1 root root 7 Apr 19 06:16 cl-swap -> ../dm-1crw-------. 1 root root 10, 236 Apr 19 06:16 control
字符设备:char
find / -type c/dev/kmsg/dev/urandom/dev/random/dev/full/dev/zero/dev/port/dev/null/dev/mem
主设备号与次设备号
主设备号:major number, 标识设备类型
次设备号:minor number,标识同一类型下的不同设备
磁盘设备文件名 /dev/DEV_FILE
硬盘存储术语
容量单位:K
kB
M
G
T
P
E
Z
Y
B
N
D
bytes=8bit
kb=1024bytes
磁盘三维(CHS)
head :磁头 8位->2^8=256个
track :磁道 10位->2^10=1024个
cylinder: 柱面(等于磁道数)
secotr: 扇区 6位->2^6=64个
一个扇区:512bytes
老版本硬盘最大容量:
扇区数磁道数磁头数*扇区容量
64*1024*256*512=8589934592bytes=8192M=8G
柱面:cylinder=512*63*256
增加磁盘触发磁盘扫描
echo '- - -' >/sys/class/scsi_host/host2/scan
两种分区方式:MBR 和GPT
MBR(Master Boot Record )
- 分区不超过2T
- 0 磁道0 扇区:512bytes
- 446bytes: boot loader
- 64bytes :分区表
- 16bytes: 标识一个分区
- 2bytes: 55AA
- 4 个主分区;3 主分区+1 扩展(N 个逻辑分区)
分区图
GPT:GUID (Globals Unique Identifiers) ) partition
table
- 支持128个 个 分区,使用64 位,支持8Z( (
512Byte/block )64Z ( ( 4096Byte/block) )
- 使用128 位UUID(Universally Unique Identifier) 表示磁盘
区 和分区 GPT
- 分区表自动备份在头和尾两份,并有CRC 校验位
- UEFI ( 统一扩展固件接口) 硬件支持GPT ,使操作系统启动
- EFI部分又可以分为4个区域:EFI信息区(GPT头)、分区表、GPT分区、备份区域
显示分区信息
- lsblk
- ll /dev/sd*
- cat proc/partition
- fdisk -l 实时读取磁盘分区表
分区工具
图形化磁盘管理功能工具:点击“应用程序”-> “系统
工具”-> “磁盘”或执行命令gnome-disks
fdisk 创建MBR 分区
[root@CentOS69: shell]# fdisk /dev/sdbCommand (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag 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 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)Command (m for help): nPartition number (1-4): 1First cylinder (1-13054, default 1): Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): +10GCommand (m for help): w
parted [ 选项]… [备 设备 [令 命令 [ 参数]…]…] 创建分区
转换分区表类型
parted /dev/sdb mklabel gpt|msdos
查看分区表信息
parted /dev/sdb print[root@CentOS69: shell]# parted /dev/sdb printModel: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 107GBSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags
新增分区
parted /dev/sdb mkpart primary 1 200 (默认M) )
删除分区
parted /dev/sdb rm 1
列出分区详细信息parted -l
查看内核是否已经识别新的分区:
# cat /proc/partations
centos6通知内核重新读取硬盘分区表
新增分区用
- partx -a /dev/DEVICE
- kpartx -a /dev/DEVICE -f: force
删除分区用
partx -d –nr M-N /dev/DEVICE
parted 分区实例
1、首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd:[root@10.10.90.97 ~]# parted /dev/hddGNU Parted 1.8.1Using /dev/hddWelcome to GNU Parted! Type 'help' to view a list of commands.2、选择了/dev/hdd作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):(parted) mklabelWarning: The existing disk label on /dev/hdd will be destroyed and all data on this disk will be lost. Do you want to continue?Yes/No?(警告用户磁盘上的数据将会被销毁,询问是否继续,我们这里是新的磁盘,输入yes后回车) yesNew disk label type? [msdos]? (默认为msdos形式的分区,我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车)gpt3、创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区 的起止位置(parted) mkpartPartition name? []? dp1File system type? [ext2]? ext3Start? 0End? 500GB4、分好区后可以使用print命令打印分区信息,下面是一个print的样例(parted) printModel: VBOX HARDDISK (ide)Disk /dev/hdd: 2199GBSector size (logical/physical): 512B/512BPartition Table: gptNumber Start End Size File system Name Flags1 17.4kB 500GB 500GB dp15、如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果(parted)rm 1 #rm后面使用分区的号码(parted) printModel: VBOX HARDDISK (ide)Disk /dev/hdd: 2199GBSector size (logical/physical): 512B/512BPartition Table: gptNumber Start End Size File system Name Flags6、按照上面的方法把整个硬盘都分好区,下面是一个分完后的样例(parted) mkpartPartition name? []? dp1File system type? [ext2]? ext3Start? 0End? 500GB(parted) mkpartPartition name? []? dp2File system type? [ext2]? ext3Start? 500GBEnd? 2199GB(parted) printModel: VBOX HARDDISK (ide)Disk /dev/hdd: 2199GBSector size (logical/physical): 512B/512BPartition Table: gptNumber Start End Size File system Name Flags1 17.4kB 500GB 500GB dp12 500GB 2199GB 1699GB dp27、由于parted内建的mkfs还不够完善,所以完成以后我们可以使用quit命令退出parted并使用 系统的mkfs命令对分区进行格式化了,此时如果使用fdisk -l命令打印分区表会出现警告信息,这是正常的[root@10.10.90.97 ~]# fdisk -lWARNING: GPT (GUID Partition Table) detected on '/dev/hdd'! The util fdisk doesn't support GPT. Use GNU Parted.Disk /dev/hdd: 2199.0 GB, 2199022206976 bytes255 heads, 63 sectors/track, 267349 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/hdd1 1 267350 2147482623+ ee EFI GPT[root@10.10.90.97 ~]# mkfs.ext3 /dev/hdd1[root@10.10.90.97 ~]# mkfs.ext3 /dev/hdd2[root@10.10.90.97 ~]# mkdir /dp1 /dp2[root@10.10.90.97 ~]# mount /dev/hdd1 /dp1[root@10.10.90.97 ~]# mount /dev/hdd2 /dp2
gdisk 创建GPT 分区
parted 高级分区操作(创建、复制、调整大小等等)
partprobe和partx -a 重新设置内存中的内核分区表版本
- CentOS 5 ,7:使用partprobe [/dev/DEVICE]
- centOs6使用partx -a
删除分区用partx -d –nr M-N /dev/DEVICE
触发磁盘扫描(一般安装新硬盘用此方法触发扫描)
echo '- - -' >/sys/class/sci_host/host2/scan
备份分区表 dd if=/dev/sda of=filename bs=1 count=512
“`
fdisk -l查看分区表类型
Device Boot Start End Blocks Id System
/dev/sdb1 1 13055 104857599+ ee GPT[root@CentOS69: shell]dd if=/dev/sdb of=gpt-table-bak bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.000749647 s, 683 kB/s
[594][root@CentOS69: shell]# ll
total 24
-rw-r–r–. 1 root root 512 Apr 20 08:12 gpt-table-bak
-rw-r–r–. 1 root root 2009 Apr 20 06:42 installApache.sh
-rw-r–r–. 1 root root 20 Apr 17 19:57 test.shell
-rw-r–r–. 1 root root 1 Apr 17 23:52 useradd-error.log
-rw-r–r–. 1 root root 370 Apr 18 01:13 useradd.log
-rw-r–r–. 1 root root 1238 Apr 18 01:16 useradd.sh
清空分区
dd if=/dev/zero of=/dev/sdb bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00049561 s, 1.0 MB/s
查看分区表内容
hexdump -v -n 512 /dev/sdb
恢复
dd if=./gpt-table-bak of=/dev/sdb bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.000417042 s, 1.2 MB/s
## 静默分区
#fdisk实现
方法一:
echo -e “n\np\n1\n\n+1G\nw\n” |fdisk /dev/sdb
方法二:
cat >part.txt <
parted实现
parted /dev/sdb mklabel sdb1
parted /dev/sdb mkpart primary 20G 50G
parted /dev/sdb mkpart extend 50G 80G
cat > part.txt <
- 磁盘管理之分区
- Linux磁盘管理之GPT分区
- 磁盘管理---------分区;swap
- Linux分区与磁盘管理
- 系统分区和磁盘管理
- Linux磁盘管理:分区、格式化
- win7 分区合并。( 磁盘管理)
- 使用fdisk分区进行磁盘管理
- linux 磁盘管理(分区挂载)
- linux-磁盘的管理与swap分区
- 磁盘管理(一):磁盘结构、命名与分区
- 磁盘管理之二
- 磁盘管理之三
- 磁盘管理之四
- 磁盘管理之五
- vim 之 磁盘管理
- 操作系统之磁盘管理
- Linux之磁盘管理
- Java之RandomAccessFile类存取数据理解
- 俄式乘法
- 什么是贝叶斯定理,为什么可以用这个方法来进行预言?
- debian 添加service服务
- 数组中出现次数超过一半的数字
- 磁盘管理之分区
- Linux下which、whereis、locate、find命令的区别
- CF#798 B. Mike and strings(思维)
- Android自定义一个View实现运动的小人
- centos7搭建java开发环境
- SpringMvc入门
- gridlab-d教程
- 数组元素反转 奇数下标进行交换
- vi 命令