1-13-硬盘介绍和磁盘管理


时间:2018-05-24 姓名:魏文应


一、硬盘

硬盘的正常使用流程:

购买设备 -> 设备联机 -> 磁盘分区 -> 磁盘格式化(创建文件系统) -> 磁盘挂载 -> 正常使用
  • sda磁盘.png

我们看 /dev/sda1 之类的:

  • /dev/ : 设备文件目录。
  • sd : SCSI接口类型的硬盘。
  • a : 代表第几块盘,a代表第一块盘。
  • 1 : 分区,1、2、3、4是主分区,5、6、7、8、9等是逻辑分区。

二、使用fdisk管理分区

  • 注意:fdisk 无法支持 2T 以上容量的磁盘分区,超过2T,请使用后面将会讲到的parted工具。

实验准备

做实验之前,添加一块硬盘,VMware虚拟机中,点击添加,然后添加一块硬盘:

  • 添加一块硬盘

然后重启系统,用 fdisk -l 命令就可以看到新添加的硬盘了:

  • sdb就是新添加的盘

图中的 /dev/sdb 就是我们刚才添加的硬盘。

给一块磁盘分区

实验 fdisk 命令,加上磁盘,比如我要对sdb磁盘分区,执行 fdisk /dev/sdb 命令,然后会进入fdisk的一些命令提示中,输入m打印帮助信息:

  • fdisk帮助信息( 图片来源:www.xuegod.cn)

然后输入相应的分区命令:

  • 分区过程

然后输入 w 保存退出,分区完成,执行命令ls /dev/sd*, 就能看到刚才分区得到的磁盘分区了。接下来,格式化分区

mkfs.ext4 /dev/sdb1

这里我格式化为ext4类型文件系统,你也可以格式化为其它类型(输入mkfs,再按两下Tab键,就能看到有哪些文件系统类型可以选择)。通过 blkid命令,查看硬盘分区类型

blkid /dev/sdb1

然后 挂载分区

# 创建一个挂载点
mkdir /sdb1

# 将/dev/sdb1分区挂载到/sdb1
mount /dev/sdb1 /sdb1

# 查看一下挂载上了没有
df -Th | tail 1

进入/sdb1这个目录,如果看到 lost+found 文件夹,也你能说明挂载没有问题。注意:磁盘挂载中,一个挂载点可以挂载多个磁盘,比如:

mount /dev/sdb2 /sdb1
mount /dev/sdb1 /sdb1

这里都挂载到/sdb1这个目录下,那么去掉这个挂载点,你就要umount 两次:

umount /sdb1
umount /sdb1

这样 /sdb1 这个挂载点才没有挂载磁盘。 当然,也可以直接指定设备去卸载:

umount /dev/sdb1

开机自动挂载分区

刚才mount 是手动挂载磁盘分区, 下面是开机自动挂载。在 /etc/fstab 文件中,加入下面一句话:

/dev/sdb1               /sdb1                   ext4    defaults        0 0

它是什么意思呢? 意思如下:

/dev/sdb1 /sdb1 ext4 defaults 0 0
要挂载的设备分区 挂载点 文件系统类型 挂载选项 是否要备份 是否检测

考虑到 /dev/sdb1 不是唯一的(因为这个值是变的),比如:

/dev/sda 磁盘disk1
/dev/sdb 磁盘disk2
/dev/sdc 磁盘disk3

这里表示有三块磁盘,如果 磁盘disk1 被拔下来了,重新开机时就是(因为系统检测到磁盘,是a/b/c/d这样来排列的,先从a开始表示第一块磁盘):

/dev/sda 磁盘disk2
/dev/sdb 磁盘disk3

如果我们还认为 /dev/sda磁盘disk1 ,就会发生问题,因为这时它是 磁盘disk2。为了解决这个问题,我们应该用 UUID标识 一块磁盘(UUID具有全球唯一性),所以我们应该这样:

UUID=9d0d24e5-0bbe-463e-9cfa-ec6c9f44cca8 /sdb1  ext4    defaults        0 0

这个 UUID 可以通过 blkid 这个命令查询得到:

blkid /dev/sdb1

让/etc/fstab内容立即生效

我们在修改了磁盘配置文件 /etc/fstab 这个文件以后,可以执行下面命令让其生效:

mount -a

这个命令执行了 /etc/fstab 的配置信息。

将剩余磁盘容量都给逻辑分区

当我们创建了一些主分区以后,我们还想创建逻辑分区,那么我们就可以先执行操作,将剩下的容量都给了逻辑分区:

  • 创建逻辑分区

我这里sdb4就是剩下容量。然后我们可以和之前创建主分区一样的方法,创建逻辑分区。注意:这时候的sdb4是不能直接访问的。 意思是我们要在sdb4的基础上,创建逻辑分区。

三、使用parted分区工具

  • GPT 分区表:全球唯一标识分区表, GPT对分区数量没有限制(windows系统GPT有限制,最大128个分区,可管理磁盘大小18EB,NTFS文件系统最大才支持256TB)。
  • MBR 分区表:最大4个分区表项。
  • parted工具:适用于大容量磁盘的分区(超过2T)。

准备工作:

  • 查看parted工具是否已经安装: rpm -rf `which parted`
  • 查看磁盘状态信息:parted -l
  • 在VMware设置中添加一块新的磁盘,大小为3T(你的物理磁盘没有这么大没有关系,这是虚拟的),reboot重启linux。
  • 使用 fdisk -l 命令,看看有没有我们刚才添加的3T磁盘,我这里是/dev/sdc。

然后对磁盘进行分区操作:

  • 指定要分区磁盘: parted /dev/sdc
  • 上面一步开始,就进入了parted命令行操作。
  • 指定分区表类型: mklabel gpt
  • 创建分区: mkpart primary 0 100 (primary是分区名称,你任意取一个,0是分区起始地址,100是100M大小)。
  • 忽略警告信息(这是分区比较小的提示信息,如果大点就没有这个警告了): ignore
    warning: The resulting partition is not properly aligned for best performance.
    警告:结果分区没有正确对齐以获得最佳性能。
    
  • 可以查看一下分区结果: print
  • 最后退出parted : quit

可以分一个大点的分区

  • 指定要分区磁盘: parted /dev/sdc

  • parted工具分配磁盘过程
  • 最后退出parted : quit

对分区进行格式化和挂载:

  • 格式化分区: mkfs.ext4 /dev/sdc1 (我这里是/dev/sdc1这个分区,你根据自己要格式化的分区而定)。
  • 创建挂载点: mkdir /sdc1
  • 挂载: mount /dev/sdc1 /sdc1

在格式化分区时,如果没有安装相关文件系统格式化工具,可以用yum搜索安装,比如安装mkfs.xfs 工具,

yum search mkfs

或者

yum search xfs

比如结果显示: xfsprogs.i686,那么用yum安装它即可:yum -y install xfsprogs.i686

四、扩展swap分区

我们可以对swap分区大小进行修改。下面扩大swap分区:

  • 创建两个逻辑分区,我这里是/dev/sdb3、/dev/sdb5,这两个分区100M。

  • 格式化分区(swap专用工具):mkswap /dev/sdb3mkswap /dev/sdb5

  • 可以查看一下内存情况: free -m (MB为单位显示)。

  • 添加到swap中:swapon /dev/sdb3

  • 再查看一下内存情况,你会发现内存swap分区变大了约100M: free -m

  • 去除swap分区:swapoff /dev/sdb3 (将刚才添加的sdb3从swap分区中去掉)。

开机时自动挂载swap分区:

  • 打开配置文件: vim /etc/fstab ,添加刚才的磁盘分区:

    /dev/sdb3                  swap                    swap     defaults       0 0
    

    更好的做法是,通过 blkid /dev/sdb3指令,查看 /dev/sdb3 的UUID,用UUID替代 /dev/sdb3:

    UUID=4fb2dd10-2bc7-48fe-8158-376dd4001c67 swap     swap    defaults      0 0
    
  • 直接执行 mount -a 发现不起作用,reboot 重启系统就可以了,然后通过 free -m查看一下。

十、问题处理

磁盘分区后,在/dev/目录下找不到刚才新建的分区

如果分区以后,执行 ls /dev/sdb2 命令,没有看到你的分区(比如我这里是sdb2分区),那么刷新一下磁盘:

partprobe /dev/sdb

如果执行 partprobe /dev/sdb 命令,提示下面错误信息:

Warning: WARNING: the kernel failed to re-read the partition table on /dev/sdb (Device or resource busy).  As a result, it may not reflect all of your changes until after reboot.

可能是这块磁盘的哪个分区已经被挂载了:

df -Th

比如我们之前执行 mount /dev/sdb1 /sdb1 命令,将 /dev/sdb1/ 挂载了 /sdb1 上,那么我们可以先卸载这个挂载点:

umount /sdb1

然后再执行 partprobe /dev/sdb 命令。如果还是不行,看看磁盘是否有分区被挂载为了swap分区:

cat /proc/swaps

如果有sdb磁盘挂载到swap分区,可以关闭它:

swapoff /dev/sdb3

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336

推荐阅读更多精彩内容

  • 目录磁盘结构磁盘分区磁盘分区管理文件系统管理挂载 一、磁盘结构 (一)设备文件 设备文件:linux系统下一切皆文...
    哈喽别样阅读 981评论 0 0
  • 1 概述 本文通过对讲解了磁盘的基本概念,分区,创建文件系统,挂载,卸载等步骤进行讲解。使得用户能够创建基本的磁盘...
    ghbsunny阅读 1,487评论 0 0
  • 一.分区工具fdisk (1)分区工具fdisk工具的使用:fdisk -l -u :查看分区表,该命令是在磁盘上...
    楠人帮阅读 716评论 0 1
  • Linux系统磁盘基本管理命令挂载文件系统――mount mount命令语法: mount [参数] [设备名称]...
    LaLaLaLaAAA阅读 2,521评论 0 1
  • 让我在看你一眼,好的女生值得等待吧,正因为很久都没遇到这样的女生,心中爱意顿时生根发芽,无病呻吟,不痛不痒,不说了...
    Chance_阅读 190评论 0 0