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硬盘进行分区:

[root@localhost ~]# 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.
[root@localhost ~]#

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

[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/

开机自动挂载

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

[root@localhost ~]# 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

root@localhost ~]# blkid | grep  sdb1
/dev/sdb1: LABEL="cc" UUID="11e9fc80-cd17-46fa-b0ff-0e5bdc2fd133" TYPE="ext4"
[root@localhost ~]# 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磁盘进行分区操作。

QQ截图20160907052116.png

然后格式化,挂载使用

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

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

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

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

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

[root@localhost ~]# 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

[root@localhost ~]# 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

[root@localhost ~]# 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"

原创文章,作者:M20_he,如若转载,请注明出处:http://www.178linux.com/44304

(0)
M20_heM20_he
上一篇 2016-09-07 13:03
下一篇 2016-09-07 14:45

相关推荐

  • 关于大型网站技术演进的思考(六):存储的瓶颈(6)

    原文出处: 夏天的森林  在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被垂直拆分后的单表查询问题。 要解决数据表被水平拆分后的单表查询问题,我们首先要回到问题的源头,我们为什么需要将数…

    2015-03-11
  • 基础指令的使用篇2 Linux版

    #echo -e "\033[41;33:4:5m"\033[0m] man命令 /usr/share/man 地址 whatis passwd 查看passwd的man 章节 man n passwd 显示passwd的第几章man文件 man -a passwd 列出所有的章节     -f   &nbs…

    Linux干货 2016-08-04
  • Linux学习总结及练习&day08-sed文本处理工具

    第一部分、Linux文本处理三剑客之sed(Stream EDitor)文本编辑工具     一、sed的基本功能工作原理     sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令…

    Linux干货 2016-08-10
  • 马哥教育网络班22期+第4周课程练习 忍者乱太郎喻成

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。   cp -rp /etc/skel /home/tuser1   chmod -R 700 /home/tuser1 2、…

    Linux干货 2016-10-09
  • 文件查找

    文件查找: locate查找:     locate:     依赖于事先构建好的索引库,操作系统刚完成没有       系统自动实现(周期性任务);      &nbs…

    Linux干货 2016-08-15
  • 正则表达式基础

    一、正则表达式: 元字符是用来阐释字符表达式意义的字符,简言之,就是用来描述字符的字符。 正则表达式RE(Regular Expression)是由一串字符和元字符构成的字符串。 正则表达式的主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。实际上正则表达式完成了数据的过滤,将不满足正则表达式定义的数据拒绝掉,剩下与正则表达式匹配的数据。 …

    Linux干货 2017-06-04