linux磁盘

磁盘分区概念

磁盘分区的概念

给容量较小的磁盘进行分区:小于2T fdisk
给容量较大的磁盘进行分区:大于2T parted

磁盘层次结构说明--物理结构

外部机构

组成部分
a 磁盘主轴 决定磁盘转速
家用磁盘 7200 rpm 5400 rpm
企业转速 15k rpm 10k rpm
b 磁盘盘片 用于存储数据
c 磁盘磁头 用于读取数据
d 磁盘接口 用于连接主板 用于连接阵列卡

磁盘内部结构

组成部分
a 磁盘
b 磁头
作用说明: 用来写入和读取数据的
特点说明:盘面数量等于磁盘数量
工作原理: 采用径向运动读写数据
c 磁道
作用说明:用来存储用户数据
特点说明:由多个同心圆组成
存储计数:最外面同心圆为0磁道
工作原理:磁盘默认按照磁道寻找数据
重点原理:磁头径向运动为机械运动(寻道)
原理特点:磁头机械运动较慢
d 扇区
作用说明:用来存储用户数据
特点说明:磁盘存储小单位
存储计数:默认磁盘扇区从1扇区开始,扇区大小512字节
系统存储最小单位是block
e 柱面
作用说明:用来存储用户数据
特点说明:不同盘面上相同的磁道组成(圆柱体)
工作原理:磁盘默认按照柱面进行读写
重点原理:磁头之间的切换为电子切换
原理特点:磁头电子切换较快
d 单元块
作用说明:用来存储用户数据
特点说明:表示单个柱面大小

查看详细磁盘信息

# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c868f

 设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     2508799     1048576   82  Linux swap / Solaris
/dev/sda3         2508800    41943039    19717120   83  Linux

磁盘层次结构详细说明---磁盘分区方法

预备知识
a 系统启动引导记录--MBR引导记录 用于引导磁盘空间小于2T
--GPT引导记录 用于引导磁盘空间大于2T
b 分区方式
情况一
可以划分4个主分区 /dev/sda /dev/sda1 .. sda4
情况二

可以划分3个主分区  /dev/sda   /dev/sda1 .. sda3
可以划分1个扩展分区  扩展分区无法直接使用
 需要在扩展分区基础上划分逻辑分区: /dev/sda5  /dev/sda6 ...

磁盘分区实战

情况一:磁盘分区--磁盘小于2G

准备磁盘环境,准备一块10g硬盘

linux磁盘_第1张图片
image.png

在系统中检查是否识别到了新的硬盘

因为虚拟机不支持热插拔,需要重启,真实环境服务器不需要重启!!!
#lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    1G  0 part [SWAP]
└─sda3   8:3    0 18.8G  0 part /
sdb      8:16   0   10G  0 disk 
sr0     11:0    1  4.3G  0 rom  

对磁盘进行分区处理(fdisk--进行分区处理,查看分区信息)

linux磁盘_第2张图片
image.png

fdisk常用命令

命令(输入 m 获取帮助):m
d delete a partition
删除分区
g create a new empty GPT partition table
创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区 CENTOS7才有)
l list known partition types
列出可以分区的类型
m print this menu
输出帮助菜单
n add a new partition
新建增加一个分区
p print the partition table
输出分区的结果信息
q quit without saving changes
不保存退出
t change a partition's system id
改变分区的系统id==改变分区类型(LVM 增加swap分区大小)
u change display/entry units
改变分区的方法 是否按照扇区进行分区划分
w write table to disk and exit
将分区的信息写入分区表,并退出保存分区信息

开始分区(前三个主分区都相同,扩展分区的时候摁e即可)

a规划分3个主分区,每个分区1G 1个扩展分区 剩余的都给扩展分区

fdisk /dev/sdb 
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xf00f7eb0 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

查看刚才的分区

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa5e75601

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux
/dev/sdb3         4196352     6293503     1048576   83  Linux
/dev/sdb4         6293504    20971519     7339008    5  Extended

划分逻辑分区

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (6295552-20971519,默认为 6295552):
将使用默认值 6295552
Last 扇区, +扇区 or +size{K,M,G} (6295552-20971519,默认为 20971519):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa5e75601

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux
/dev/sdb3         4196352     6293503     1048576   83  Linux
/dev/sdb4         6293504    20971519     7339008    5  Extended
/dev/sdb5         6295552     8392703     1048576   83  Linux

保存退出

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

格式化

mkfs
centos6 ext4
centos7都是xfs
真实环境mkfs.xfs /dev/sdb1会报错
物理环境需要 partprobe /dev/sdb 加载
ll /dev/sdb*

mkfs.xfs /dev/sdb1

挂载

mount /dev/sdb1 /mnt
df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        19G  1.5G   18G    8% /
devtmpfs        980M     0  980M    0% /dev
tmpfs           991M     0  991M    0% /dev/shm
tmpfs           991M  9.5M  981M    1% /run
tmpfs           991M     0  991M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
tmpfs           199M     0  199M    0% /run/user/0
/dev/sdb1      1014M   33M  982M    4% /mnt

开机自动挂载

/etc/fstab文件中进行设置
首先查看一下磁盘UUID
blkid
/dev/sdb1: UUID="bb223fdd-f1ed-489c-a5cd-6149de2dcc85" TYPE="xfs"

vi /etc/fstab
UUID=bb223fdd-f1ed-489c-a5cd-6149de2dcc85 /mount01              xfs     defaults        0  0


mkdir /mount01
 mount -a
 df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        19G  1.5G   18G    8% /
devtmpfs        980M     0  980M    0% /dev
tmpfs           991M     0  991M    0% /dev/shm
tmpfs           991M  9.6M  981M    1% /run
tmpfs           991M     0  991M    0% /sys/fs/cgroup
/dev/sda1       197M  105M   93M   54% /boot
tmpfs           199M     0  199M    0% /run/user/0
/dev/sdb1      1014M   33M  982M    4% /mnt

磁盘分区时间---磁盘大于2T

主机添加一块3T磁盘

linux磁盘_第3张图片
image.png

使用parted命令进行分区

parted命令详解
mklabel,mktable LABEL-TYPE
创建一个分区表(默认为mbr)
print
显示分区信息
mkpart PART-TYPE [FS-TYPE] START END
创建一个分区
quit
退出
rm
删除分区

实操

[root@sky ~]# parted /dev/sdc
GNU Parted 3.1
使用 /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help                                                             
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found
        partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted) mklabel gpt                                                      
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 3221GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  标志

(parted) mkpart primary 0  2100G 
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore                                           
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 3221GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  2100GB  2100GB               primary

(parted) quit                                                             
信息: You may need to update /etc/fstab.


partprobe /dev/sdc
 mkfs.xfs /dev/sdc1
meta-data=/dev/sdc1              isize=512    agcount=4, agsize=128173827 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=512695308, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=250339, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    1G  0 part [SWAP]
└─sda3   8:3    0 18.8G  0 part /
sdb      8:16   0   10G  0 disk 
├─sdb1   8:17   0    1G  0 part /mount01
├─sdb2   8:18   0    1G  0 part 
├─sdb3   8:19   0    1G  0 part 
├─sdb4   8:20   0    1K  0 part 
└─sdb5   8:21   0    1G  0 part 
sdc      8:32   0    3T  0 disk 
└─sdc1   8:33   0  1.9T  0 part 
sr0     11:0    1  4.3G  0 rom 

如果想开机挂载  就写在/etc/fstab
blkid
/dev/sdb1: UUID="bb223fdd-f1ed-489c-a5cd-6149de2dcc85" TYPE="xfs" 
vi  /etc/fstab
UUID=6c6dc3af-8e51-4312-b68b-2d2799d0c9e1 /mount02              xfs     defaults        0  0

mkdir /mount2
mount -a

你可能感兴趣的:(linux磁盘)