跟我学Linux系统管理

-------by MT.sh

第三讲 Linux 下的磁盘管理(上)
     今天这一讲,我们主要要讨在Linux 下如何配置和管理磁盘,也就是磁盘管理了,最后我还会和大家一起做个试验,就是做一个4 块硬盘冗余的软raid5 ,首先说下磁盘管理的意义,为什么要进行磁盘管理,我们首先要有个认识,就是对于企业来讲,不管是pc 还是服务器,最重要的硬件绝对是磁盘,因为所有的文件,所有的重要信息都在这个上面保存着呢,你说cpu 坏了,没关系,换新的,你说你要是把硬盘里面数据搞丢了,除了要大费周章恢复数据外估计还要被M 一顿,而且数据也不是就一定能恢复回来的。时下有个网络热词叫系统集成,现在这个行业很热门,各个领域的企业都想插足分杯羹,但是想找一个优秀的系统集成工程师,却极为难找,一个合格的系统集成工程师那要具备的素质要求可就多了,主机市场要了解,网络工程会部署,各种服务器级别的操作要会安装配置,通常情况下还有后期维护,还要能跟客户搞好关系,最主要的是你要明白存储设备怎么规划,那这里有提到存储,实际我们今天要讨论的磁盘管理就是存储管理中最基本的基础。
磁盘对于服务器来说是属于硬件基础,Linux 给我们提供的硬件管理工具叫kudzu ,对于kudzu 我们简单了解就可以,用到的时候知道是这个工具,查资料也知道在搜索引擎里面搜什么,呵呵,何况Linux 系统启动的时候是自动加载硬件,一般情况无需我们过问,如果硬件没有被正确加载,可以使用kudzu 命令来重新加载,只有硬件被正确加载才能正常工作。
系统启动后所有的硬件信息都保存在/etc/sysconfig/hwconf 文件中,kudzu 命令加载的过程是先检查连接到计算机的硬件,然后用发现的硬件信息与保存在/etc/sysconfig/hwconf 文件比较,然后根据检测到的新硬件或者移除的硬件提示重新修改系统配置。
还有一个小知识需要我们了解的,就是如何关于模块的查看和加载以及怎么移除,模块多指的是设备驱动,如网络设备和文件系统。我们这里暂不多做分析,一般搞Linux 程序开发的多需要研究这个,我们知道怎么加载模块就行了。Linux 为我们提供了模块管理的命令。如lsmod 用来显示加载的模块,modprobe 用来加载指定的模块,rmmod 用来删除指定的模块,这里我们用个小例子来讲吧。如果我们想在Linux 下挂载U 盘,首先我们要知道系统是否加载了支持U 盘的模块,在Linux 下支持u 盘的模块叫usb-storage ,storage 就是存储的意思,很明显就能看出来是支持u 盘存储的模块,那我们现在就假设要在Linux 下使用我的U 盘,那我们看怎么做啊,

1、              lsmod |grep usb-storage查看系统是否有加载usb-storage这个模块,假设没有加载,需要我们手动加载。

2、              modprobe usb-storage 手动加载这个模块。再重复第一部查看,应该是加载成功了。

3、              fdisk –l 看看u盘的设备名叫什么,假设叫sda1.

4、              mkdir /mnt/myusb 在/mnt目录下创建muusb目录,供挂在U盘使用。

5、              mount –t vfat /dev/sda /mnt/myusb 挂载u盘。这样就可以使用了。

好了,U 盘挂在完了,可以使用了。呵呵  去myusb 目录下看看里面有没有你U 盘
面的文件或者文件夹吧。上面我们有使用过fdisk –l ,这个命令是用来查看硬盘分区表的。 

我机器上是挂的硬盘比较多,我做的是软raid 5 ,所以上图fdisk –l 出来的结果比较丰满,我们仔细看第一个磁盘第一分区信息,也就是/dev/sda1 这一行,这行boot 下面是有个* 号的,这个* 号表示的是这个分区是启动分区。每个磁盘每个分区下都有ID 字段,ID 字段的值是83 代表的是基本磁盘,8e 代表的是逻辑卷,也就是我们用来做LVM 逻辑卷组所需要的格式,82 代表的是swap 交换分区,5 代表的是扩展分区,这些在以后章节涉及到的时候会详细讲述,然后我们会看到还有start 和end 字段,start 表示的是该分区开始的磁盘柱面,end 表示的是结束的磁盘柱面。

fdisk 是Linux提供的非常好用的磁盘分区工具,在讨论fdisk分区工具用法之前,我们先分析Linux下的磁盘分区有哪几种类型,我们在使用fdisk –l命令查看的时候会看每个分区都有Id字段的信息,该字段就是用来表示磁盘分区类型的。同windows一样,Linux下也有主分区,扩展分区以及逻辑分区,同样跟windows分区一样,每个磁盘也是最大只能有4个主分区,一个扩展分区代表一个主分区。除了以上Linux分区还有一些特殊的分区,比如用来支持做raid的分区fd还有用来做逻辑卷组的分区8e等。

接下来我们详细的讨论下fdisk 分区工具的使用方法,我们以实例来说明问题,我会添加一块新的硬盘,然后在给新硬盘分区,分一个主分区和一个扩展分区,然后再扩展分区上在分逻辑分区。不要催我,我是在WMare 虚拟机上做的,我先搭建下环境。那现在开始。

那看到了,我们新增加了一个磁盘,就是/dev/sdb ,看截图最后一行,表示的是这个磁盘还没有进行分区,那当然是不能使用的了,我们要做的就是给这个磁盘分区。
1、 fdisk /dev/sdb 进行分区,看截图来分析

我们来分析这个截图,在输入fdisk /dev/sdb回车后,提示输入command命令,它给了提示,可以输入m寻求help,实际就是fdisk分区工具的帮助文档,我输入的n,n取的是new的首字符,意思是创建新的分区,然后出现了两个action供我们选择,一个是e一个是p,在两个字母后面都给出了解释,e是extended,p是primary partition分别是扩展和主分区。我们这里选择了p,因为我们要做一个主分区,然后提示我们输入分区号,就是partition number,给出的选择只有1-4,为什么是只能是1-4,难道我们不能选择5吗?我们在前面有提到过,无论是在windows还是在linux下,一个磁盘最多只能分4个主分区,而一个扩展分区实际上也是占了一个主分区的位置,所以这里我们只能输入的是1到4之间的数字,因为是第一个分区吗,我们自然选择了1,然后出现的是first cylinder这一行,这一行是让我们选择磁盘的柱面,是一个选择范围,我们不管它,直接回车就行,让它自己决定吧,而且绝对是最优的按顺序的柱面。接着下面出现的一行Last cylinder or +size or +sizeM or +sizeK (1-522, default 522): 是让我们选择磁盘分区的大小,因为我添加的这块硬盘值有5G,所以我给第一个分区分了2048m,就是2G了,这里要注意的是一定要有+号,“+”号一定要存在,看它实际上也是给了提示的。输入+2048m回车后,这个分区就搞定了,然后它出现了同第一行一样的command提示。我们依旧和第一个分区一样,先输入n,表示增加一个分区,然后这里要注意的我们这次输入e,而不是p了,因为我们这次要新建的分区是扩展分区,所以。。。呵呵。然后给它个分区号2,然后同样是一个回车让它自己选择柱面,选择分区大小的时候,我们也不选择了,直接回车,表示把剩余大小全部都分给这个分区。最后在command提示的时候输入w,w是write的首字符,表示的是保存。一定要保存不然我们上面做的都白做了。这个时候我们用fdisk –l /dev/sdb来看下这个磁盘的分区情况,是否和我想的一样。

   果然和我们设计的是一样的,呵呵。我们看第两个分区的ID ,第一个83 表示的是正常分区,第二个5 表示的就是扩展分区了。System 字段表示的是适合该分区适合的分区系统,那现在是这样,我们都知道扩展分区是不能直接使用的,我们现在要在扩展分区上创建一个逻辑分区。好吧,行动,还是看截图吧

我们看上面的截图分析啊,一步一步来,首先我们输入的是n ,啥意思你猜吧,然后输入的是l ,它也给了解释,表示logical 就是逻辑分区的意思。然后我们会奇怪的发现,它给出的磁盘柱面选择竟然是和我们刚才创建的扩展分区是相同的范围,对,一点都不奇怪,因为我们创建扩展分区本来就是给逻辑分区使用的,意思就是我们现在创建的逻辑分区完全是在扩展分区上面创建的。其实就是这样,呵呵,接下来我们输入回车,再回车,把扩展分区的所有大小全都给逻辑分区使用吧。是的最后w 保存,ok ,我们fdisk –l /dev/sdb 来看下现在这块磁盘的分区,是不是跟刚才有什么不同呢? 

呵呵,貌似很奇怪,虽然多了一个分区sdb5,但是start值和end值却是和sdb2分区是一样的,对了,这就说明刚才我们在扩展分区上创建的逻辑分区成功了,你看分区大小也是和扩展分区大小一样的,唯一不同的就是ID值是83表示Linux下正常的分区,后面的System值也变成了Linux了。这里也简单提一下如何删除一个分区吧,首先和创建分区一样使用fdisk工具,输入比如我们要删除sdb的第一个分区sdb1,那我们的操作应该是这样的。

#fdisk /dev/sdb,在提示command的时候输入d,就是delete的意思,然后选择分区号1就行了,别忘记w保存。自己试试吧。要多做实验。

结束了?别着急,还没有呢,先喝口水吧,给磁盘虽然分区结束了,但是想使用这块磁盘还不行,为什么呢,跟windows一样,还要分分区进行格式化。呵呵,那我们来开始格式化吧,我记得在上一讲我们说过文件系统类型吧,其中我说我们使用最多的是ext3,对就是这个概念,ext3是就是为Linux而产生的文件系统就像windows下的ntfs和fat一样,尽管现在现在已经有了ext4,但是本人还没有使用过,只在朋友的手机上面见过。那先现在开始格式化吧,记得哦,格式会将该分区的所有文件全部消灭的哦,这个概念和windows还是保持一样的。呵呵,看截图。

算了,这个还是很简单的就不截图了,而且在51cto上面上传图像太复杂了。你在#符后面输入mkfs.ext3 /dev/sdb1然后看它什么反应吧,反正最后格式化完了就自动退出来了。要注意的是mkfs.ext3 后面跟的不是磁盘而是分区,别搞错了。这里用到的是mkfs命令,讲下啊,这个就是格式化所用到的工具了,直接在“.”后面加上你想格式化得分区类型就ok了。

性子急的朋友,可能问了,结束了吗?可以使用了啊?怎么使用啊,呵呵 ,现在还是不能使用,这里就跟windows下面不一样了,我们说过Linux下面一切皆文件,硬件设备也不例外,都是以文件的形式呈现在我们面前的,现在我们要做的就是将磁盘这个硬件设备挂载到我们的目录下面,才能使用,目录是一种特殊形式的文件,这我们也有提过的。

挂载的概念,我们在本讲的开头就说过,我们做的小实验是挂载一个U盘。用的是mount命令,对吧。首先我们创建两个目录/mnt/mydisk1 /mnt/mydisk2 。当然不一定非要在/mnt目录下挂载,我们可以挂载到别的地方呵呵。

1、 mkdir /mnt/mydisk1 /mnt/disk2 创建了这两个目录,用来挂载sdb 磁盘的两个分区。
2、 mount /dev/sdb1 /mnt/mydisk1 挂载第一个分区到目录/mnt/mydisk1 下。
3、 mount /dev/sdb2 /mnt/mydisk2 挂载第二个分区到目录/mnt/mydisk2 下。
4、 mount 使用mount 命令看下都挂载了哪些东东,有我们刚才挂载的两个分区吗?

5、 当然是用的了,对于磁盘而言,跟U盘不一样,我们当然是想让系统启动后自动挂载了,那我们就需要在这个/etc/fstab文件中添加上我们需要自动挂载的分区就可以了,打开这个文件,添加截图中最后一行,如下:

我们分析这个文件的内容啊,第一列我们输入的是我们需要挂载的分区名称,第二列表示的是我们挂载的目录,第三列表示的是文件系统类型,第四列我们通常输入defaults 就行了。0 0 表示的是不写入日志,我们看到还有输入1 1 和1 2 的,这两个表示的都是写入日志。前面几行都是系统自动加载的。

好了,那 现在我们可以在你挂载的目录下存放东西,你可以创建目录也可以创建文件了。呵呵,还不明白吗?我是说你添加的这块硬盘可以使用了。如果要卸载某设备的话用umount命令就行了,比如我们想把刚才挂载上去的第一分区sdb1卸载的话,输入umount /mnt/mydisk1就ok啦。23.50了,该睡觉了,我抽根烟,待会讲最后一点点扩展的东西,咱们就休息吧。明天还得赶早去放牛呢。家里拖拉机也坏了,还得拉去修。哎,农民容易吗?

回来了,提个命令啊。df 命令,我喜欢在后面加个参数就是df –hl 这样能看到所有挂载上的磁盘分区信息,而且加上参数以后会显示磁盘剩余空间。如:

tmpfs 啥东西,好眼熟啊,在/etc/fstab 这个文件中,我跟大家说过有几个是系统自动挂载的,这就是其中一个,但是截图中没有sdb1 、sdb2 因为我截图的时候的时候根本没挂载呵呵。不要奇怪。
我刚才说大要扩展的东西就是。。。。。。我们刚才有提到过自动挂载,其实还有一种挂载叫做按需自动挂载,算是自动挂载的一种吧。

按需加载需要修改两个文件一个是/etc/auto.master一个是/etc/auto.misc。比如我要按需加载/dev/sdb1,对了想起来,刚才在上面有提到过挂载/dev/sdb2。错的,sdb2是扩展分区不能挂载,也没有任何意义。我想说的是其实是sdb5逻辑分区。我就不改了,大家知道就行了啊。那我们看怎么修改这两个文件来完成sdb1的按需加载。

Vi /etc/auto.master

添加一行: /mnt/mydisk1 /etc/auto.misc –timeout=15
上面这一行调用的是 auto.misc 这个文件,所以我要还要

Vi /etc/auto.misc

添加一行: /mnt/mydisk1 –fstype :/dev/sdb1
然后我们重启自动加载的服务autofs
#service autofs restart 回车
按需加载的意思是说在系统启动的时候不会去自动加载,只有在你进入这个目录的时候也就是使用的时候才会加载,自己测试下吧。
不困,但是必须睡觉了,别忘记输入init 0. 关闭系统。同志们,晚安!!!努力加油,另外别忘记给我跟帖啊。
kaodaxia@139.com  我的邮箱
1368773585 我的QQ
如果有错误的地方,欢迎各界朋友跟我联系,大家相互讨论并学习,一起进步。

转载于:https://blog.51cto.com/manman/515837

跟我学Linux系统管理 第三讲 磁盘管理相关推荐

  1. linux基础知识之磁盘管理及文件系统

    linux基础知识之磁盘管理及文件系统管理 磁盘管理及文件系统管理 一.磁盘硬件介绍 1. 接口类型 2. 硬盘种类 3. 磁盘命名 二.磁盘分区及文件系统介绍 1. 分区 1.1 什么是分区 1.2 ...

  2. Linux(6)磁盘管理和文件系统

    文章目录 6.Linux(6)磁盘管理和文件系统 前言 基础资源 磁盘管理 磁盘简介 基本磁盘管理.分区 SWAP 交换分区管理 简介 交换分区管理流程 swap 逻辑卷LVM 概述 特点 可操作性的 ...

  3. 15. Linux系统中的磁盘管理

    Lesson15 Linux系统中的磁盘管理 文章目录 1. 什么是磁盘管理 2. 本地存储设备的识别 3. 设备的挂载和卸载 4. 解决设备正忙情况 5 磁盘分区 5.1 磁盘分区的基础知识 5.2 ...

  4. linux实验磁盘管理,从0到1学习网络安全 【Linux实验篇-LVM 磁盘管理】

    简介 Logical Volume Manager 是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中. LVM 调整管理 ...

  5. 【Linux系统管理】07 软件包管理 08 用户和权限

    一 软件包分类 Linux 系统和 Windows 系统之间的软件包是分开的.Windows 系统中的 .exe,.msi 是无法在Linux系统下运行.Linux 系统中的服务器应用是无法在 Win ...

  6. linux学习总结之磁盘管理

    虚拟机操作:虚拟机-->设置-->硬盘-->添加-->确定 外接的磁盘一般放在/dev下,scsi设备一般以sd表示 ll /dev/sd*:显示所有外接scsi设备 fdis ...

  7. Linux系统中的磁盘管理

    ################################## 1.本地存储设备的识别 fdisk -l ##系统中存在的设备(存在的设备不一定能被识别) cat /proc/partition ...

  8. Linux常用命令(4)-磁盘管理

    案数据除了档案实际内容外, 通帯有非帯多癿属性,例如 Linux 操作系统的档案权限(rwx)和文件属性(拞有者.群组.时间参数等).  文件系统会将这两部数据分别存放在不同的区块,权限属性放置到 i ...

  9. Linux (Ubuntu)磁盘管理与文件压缩解压(入门必看)

    目录 一.Ubuntu 磁盘文件 二.磁盘和目录的容量查询命令 三.磁盘的挂载和卸载 四.Linux 下常用的压缩格式 五. gzip 压缩工具(但是不能生成压缩包) 六.bzip2压缩工具 七.ta ...

最新文章

  1. ESP8266-iot-2
  2. 向量图兼容组件VectorCompat
  3. Python学习:Python简介
  4. 北京内推 | 微软亚洲研究院MSRA STCA招聘多模态算法实习生
  5. JAVA——关闭ServerSocket
  6. vba 定义类_VBA中类的介绍及应用简介
  7. 关于运行jar包时的一个错误
  8. linux man命令原理,Linux命令之man详解
  9. 地址栏引用PHP中变量,PHP 读取地址栏 参数
  10. Python爬虫编程实践Task 01
  11. jetty:Address already in use: bind
  12. R语言入门mac——RStudio安装➕R包安装【附安装链接】
  13. gis怎么提取水系_利用ArcGIS水文分析工具提取河网
  14. 国外设计素材网址干货
  15. 字符串与vector和list
  16. SpringMVC中的拦截器介绍
  17. 单片机学习笔记(五)—— 键盘
  18. 微信小程序自定义map组件标记点markers(兼容苹果和安卓)
  19. 1-106兔子繁衍问题
  20. 国产操作系统和Linux

热门文章

  1. 信号转换芯片-LT8911EXB MIPI CSI/DSI转EDP
  2. 海康内置4G卡的摄像头设备无法注册EasyCVR平台是什么原因?
  3. js手机号中间部分隐藏****,显示前三位和后四位
  4. 30个python的最佳实践,快去试试吧!
  5. 全球与中国汽车真皮内饰市场发展模式及前景趋势预测报告2022-2028年版
  6. ssm+Vue计算机毕业设计益学(程序+LW文档)
  7. 关于近期工作的一些感想
  8. (三)shp路网数据导入postgres中
  9. 评估智能对话机器人的7大数据指标
  10. windows检查磁盘命令