20磁盘管理—linux磁盘管理详解(分区)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20磁盘管理—linux磁盘管理详解(分区)相关的知识,希望对你有一定的参考价值。

  • linux磁盘管理

  • 添加磁盘步骤:

  • fdisk 管理磁盘分区

  • 格式化文件系统。

  • 设备挂载

  • 开机自动挂载

    • UUID挂载

  • 取消挂载点

  • Parted(gpt大于2G分区)

  • 查看文件系统的使用情况。

  • df 查看挂载信息与磁盘使用量

  • du 查看使用量

  • 查看分区状况lsblk

  • 查看设备信息blkid

linux磁盘管理

当全新安装了一块新的硬盘设备后,为了更充分、安全的利用硬盘空间首先要进行磁盘的分区,然后格式化,最后挂载使用。

添加磁盘步骤:

添加设备->分区->格式化(创建文件系统)-> [起名]->修改配置文件->创建一个挂载点->挂载


fdisk 管理磁盘分区

fdisk命令用于管理磁盘分区,格式为:“fdisk [磁盘名称]”。 
管理某硬盘的分区:“fdisk /dev/sda”

常用参数 作用 
m 查看全部可用的参数 
n 添加新的分区 
d 删除某个分区信息 
l 列出所有可用的分区类型 
t 改变某个分区的类型 
p 查看分区表信息 
w 保存并退出 
q 不保存直接退出

使用fdisk命令对sdb硬盘进行分区:

[[email protected] ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x7516baf3.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won‘t be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
        switch off the mode (command ‘c‘) and change display units to
        sectors (command ‘u‘).

Command (m for help):

敲击字符p查看分区表信息(当前为空):

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7516baf3

  Device Boot      Start         End      Blocks   Id  System

敲击字符n创建新的分区信息:

Command (m for help): n

敲击字符p,这个p代表是主分区,e为扩展分区:

Command action
  e   extended
  p   primary partition (1-4)
p

敲击数字1代表分区编号为1

Partition number (1-4): 1

磁盘的起始扇区,直接回车即可:

First cylinder (1-2610, default 1): 

键入+2G,代表该分区的大小为2G

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +2G

再看下分区表信息(增加了sdb1分区信息):

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7516baf3

  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux

敲击字符w,将上述分区信息保存:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#

让内核同步分区信息(此步骤仅在没有找到分区设备的情况下才需要执行,非必要动作。):

[root@localhost ~]# partprobe 

格式化文件系统。

在Linux系统中用于格式化的命令是mkfs,它支持的文件类型有: 
cramfs,ext2,ext3,ext4,fat,msdos,xfs,btrfs,minix,vfat

使用方法非常的简单:"mkfs.文件类型名称",例如要格式分区为ext4,则命令为"mkfs.ext4 硬盘分区名称"。 
使用mkfs.ext4来对/dev/sdb1进行格式化:

[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131648 inodes, 526120 blocks
26306 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=541065216
17 block groups
32768 blocks per group, 32768 fragments per group
7744 inodes per group
Superblock backups stored on blocks:
   32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

设备挂载

将硬盘设备挂载到/web目录。

[root@localhost ~]# mkdir /web
[root@localhost ~]# mount /dev/sdb1 /web/

开机自动挂载

设置系统启动后自动挂载该硬盘设备

[[email protected] ~]# vim /etc/fstab
/dev/sdb1               /web                    ext4    defaults        0 0
要挂载的分区  挂载点 文件系统类型  挂载选项    是否备份    是否检测

最后两个0

第一个0:fs_dump 是否要使用dump命令进行备份. 0为不备份,1为要备份 。 
第二个0:fs_pass – 该字段被fsck命令用来决定在启动时是否需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动 时扫描则设置该字段为0

UUID挂载

UID是一个标识你系统中的存储设备的字符串,其目的是帮助使用者唯一的确定系统中的所有存储设备,不管它们是什么类型的。它可以标识DVD驱动器,USB存储设备以及你系统中的硬盘设备等。

取消挂载点

umount命令用于撤销已经挂载的设备文件,格式为:“umount [挂载点/设备文件]”。 
取消对/dev/sdb1设备文件的挂载:

[root@localhost ~]# umount /dev/sdb1

特点:

它是真正的唯一标志符 
Linux中的许多关键功能现在开始依赖于UUID

查找UUID

可以通过 blkid 命令获取各分区的UUID

[email protected] ~]# blkid | grep  sdb1
/dev/sdb1: LABEL="cc" UUID="11e9fc80-cd17-46fa-b0ff-0e5bdc2fd133" TYPE="ext4"
[[email protected] ~]# tune2fs -l /dev/sdb1  | grep UUID
Filesystem UUID:          11e9fc80-cd17-46fa-b0ff-0e5bdc2fd133

Parted(gpt大于2G分区)

通常我们用的比较多的一般都是fdisk工具来进行分区,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大;而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。但是现在的磁盘空间很多都已经是远远大于2T了,甚至达到2.5T和3T,那要怎么办能,有两个方法,其一是通过卷管理来实现,其二就是通过我们今天谈到的Parted工具来实现对GPT磁盘进行分区操作。

技术分享

然后格式化,挂载使用

查看文件系统的使用情况。

df 查看挂载信息与磁盘使用量

df命令用于查看挂载点信息与磁盘使用量,格式为:“df [选项] [文件]”。 
查看挂载信息与硬盘使用量:“df -h”

参数作用 
-a 显示出所有的文件系统(包括虚拟的) 
--total 展出出总体使用量 
-h 更易读的容量格式如1K,234M,2G… 
-i 展示出Inode的信息(默认是磁盘使用信息) 
-T 显示出文件系统的类型

查看到所有已挂载的挂载信息与硬盘使用情况:

[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  333M   19G   2% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   34M  147M  19% /boot
/dev/mapper/vg0-usr   9.8G  1.9G  7.4G  21% /usr
/dev/mapper/vg0-var    20G  113M   19G   1% /var
/dev/sdb1             2.0G  3.1M  1.9G   1% /web

du 查看使用量

du命令用于查看磁盘的使用量,格式为:“ du [选项] [文件]”

查看根目录的总占用空间:du -sh / 
查看当前目录下各文件所占空间:du -sh *

参数 作用 
-a 评估每个文件而非目录整体占用量。 
-c 评估每个文件并计算出总占用量总和。 
-h 更易读的容量格式如1K,234M,2G… 
-s 仅显示占用量总和。

查看到该挂载目录的占用硬盘量:

[root@localhost ~]# du -sh /web/
20K /web/

查看分区状况lsblk

[[email protected] ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                  11:0    1 1024M  0 rom  
sda                   8:0    0   80G  0 disk
├─sda1                8:1    0  200M  0 part /boot
└─sda2                8:2    0   60G  0 part
 ├─vg0-root (dm-0) 253:0    0   20G  0 lvm  /
 ├─vg0-swap (dm-1) 253:1    0    2G  0 lvm  [SWAP]
 ├─vg0-usr (dm-2)  253:2    0   10G  0 lvm  /usr
 └─vg0-var (dm-3)  253:3    0   20G  0 lvm  /var
sdb                   8:16   0   20G  0 disk
├─sdb1                8:17   0  1.9G  0 part
└─sdb2                8:18   0  1.9G  0 part

查看设备信息blkid

[[email protected] ~]# blkid
/dev/sda1: UUID="a4acde25-491e-425e-9a3c-3ccc995ee4c4" TYPE="ext4"
/dev/sda2: UUID="qivYdT-3t0K-JdU2-1afU-lZGG-NvNt-22lYE1" TYPE="LVM2_member"
/dev/mapper/vg0-root: UUID="e5ea11e5-157f-42b2-aba1-d92ff6002af3" TYPE="ext4"
/dev/mapper/vg0-swap: UUID="c30b0464-2b30-45ca-ac65-79baa79af17b" TYPE="swap"
/dev/mapper/vg0-usr: UUID="16ebdfae-1ddd-4841-9415-ea105add7857" TYPE="ext4"
/dev/mapper/vg0-var: UUID="6d6cc476-2c4f-40a9-9e8b-b9c1f90c6fe4" TYPE="ext4"


本文出自 “家住海边喜欢浪” 博客,请务必保留此出处http://zhang789.blog.51cto.com/11045979/1847232

以上是关于20磁盘管理—linux磁盘管理详解(分区)的主要内容,如果未能解决你的问题,请参考以下文章

妈妈再也不用担心我为磁盘管理烦恼了——Linux磁盘管理工具LVM2详解释

Linux磁盘分区与LVM详解

linux怎么注释磁盘

LINUX下分区命令Parted详解

linux下磁盘分区详解 图文(fdisk;mkfs)

linux系统分区