1. 查看磁盘或者目录的容量
df  查看磁盘各分区使用情况
   不加参数以k为单位
   df -i inode数,df -h  以G或者T或者M
   df -m  以M单位显示  
du 查看目录或者文件的容量 
   不加参数 以k为单位显示 
   -s 列出总和 -a  列出所有文件和目录
   -k 以k为单位 -m  以M为单位
   -h 最合适的单位  最常用组合 -sh
扩展 ls -lh 看到的大小和du相比

2. 磁盘的分区和格式化
fdisk -l  查看磁盘和分区,大于2T用GPT
fdisk  设备名 m 列出常用命令,常用的有‘p’, ‘n’, ‘d’, ‘w’, ‘q’. 
mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4 
-t 文件系统格式 ext3 ext4
-b 指定每个数据块大小,目前支持1024, 2048 及4096 
-L 分区标签
格式化时默认blocks (5.00%) reserved for the super user  //给超级用户预留的一部分空间,用来作为特殊用途
-m  可以更改这个比例,如 mke2fs -m 0.1 /dev/sdb1   //意思是,只预留出0.1%

3. 挂载、卸载磁盘分区
mount 不加任何选项和参数,查看已经挂载情况
mount 格式  mount -t type  /dev/sda5  /mnt
mount -t 指定挂载分区格式,如 -t ext3
umount  /dev/sda5 或者 umount /mnt
umount -l  强制卸载
mount  -o 后面跟各种选项,比如remount,ro,noatime等,具体选项如下:

“async/sync” : async表示和磁盘和内存不同步,系统每隔一段时间把内存数据写入磁盘中,而sync则会时时同步内存和磁盘中数据;
“auto/noauto” : 开机自动挂载/不自动挂载;
“default” : 按照大多数永久文件系统的缺省值设置挂载定义,它包含了rw, suid, dev, exec, auto, nouser, async
“ro” : 按只读权限挂载 ;
“rw” : 按可读可写权限挂载 ;

“exec/noexec” : 允许/不允许可执行文件执行,但千万不要把根分区挂载为noexec,那就无法使用系统了,连mount命令都无法使用了,这时只有重新做系统了;
“user/nouser” : 允许/不允许root外的其他用户挂载分区,为了安全考虑,请用nouser ;
“suid/nosuid” : 允许/不允许分区有suid属性,一般设置nosuid ;
“usrquota” : 启动使用者磁盘配额模式,磁盘配额相关内容在后续章节会做介绍;
“grquota” : 启动群组磁盘配额模式;

特殊用法:mount -o loop  1.iso  /mnt    #挂载镜像文件
mount --bind   /dir1 /dir2    #挂载目录

mount -a  会根据/etc/fstab 挂载所有分区
UUID是如何来的,使用命令 blkid
blkid命令 后可以不跟设备名,列出所有
mount UUID=“……” /mnt 
使用UUID的好处是,多块磁盘,如果在服务器上换了插槽位置,设备名会变,但UUID是唯一的

4. 配置文件 /etc/fstab
第一列就是分区的标识,可以LABEL,也可以UUID,当然也可以 (/dev/sda1);
第二列是挂载点;
第三列是分区的格式;
第四列则是mount的一些挂载参数,一般情况下,直接写defaults即可;
第五列的数字表示是否被dump备份,是的话这里就是1,否则就是0;第六列是开机时是否自检磁盘。1,2都表示检测,0表示不检测,/ 分区必须设为1,而且整个fstab中只允许出现一个1,1比2优先级高,所以先检测1,然后再检测2,如果有多个分区需要开机检测那么都设置成2吧,1检测完了后会同时去检测2。

lvm配置 (参考内容,大家自行实践)
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。支持动态扩充磁盘空间。
首先从空的硬盘sdb上创建两个分区sdb1 1G, sdb2 2G。
1)创建逻辑卷
pvcreate /dev/sdb1 /dev/sdb2   //创建物理卷
pvdisplay   //可以列出已经创建的物理卷
vgcreate vgdata /dev/sdb1 /dev/sdb2        //创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组
vgdisplay //可以列出已经建好的卷组
# 默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小。

lvcreate -L 500M -n lvdata1 vgdata  //分割500M给新的逻辑卷lvdata1
lvdisplay //列出当前的逻辑卷

mkfs.ext4 /dev/vgdata/lvdata1  //格式化逻辑卷
mount /dev/vgdata/lvdata1  /aming  //挂载逻辑卷

2) 扩展逻辑卷
逻辑卷lvdata1不够用了,我们如何给他增加空间呢?
lvextend –L +500M /dev/vgdata/lvdata1  //给lvdata1增加500M空间。
resize2fs  /dev/vgdata/lvdata1  //同步文件系统

3)扩展卷组
当卷组不够用的情况下,我们也是可以扩展卷组的。我们再创建一个新的分区叫做/dev/sdb3.
vgextend vgdata /dev/sdb3  //把sdb3加入到卷组vgdata中

4)减少逻辑卷大小
卸载 --> e2fsck 检测剩余空间 --> resize2fs 同步文件系统 --> 使用lvreduce命令将逻辑卷减少
注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。

umount  /data1
e2fsck -f /dev/mapper/vgdata-lvdata1
resize2fs /dev/mapper/vgdata-lvdata1 700M
lvreduce -L 700M /dev/vgdata/lvdata1
mount /dev/vgdata/lvdata1 /data1

5) 当磁盘或分区损坏时,如何转移数据
pvmove 转移空间数据 --> vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去 --> pvremove命令将即将坏的磁盘或者分区从系统中删除掉 --> 拆除或修复磁盘
pvmove /dev/sdb1 
vgreduce vgdata /dev/sdb1
pvremove  /dev/sdb1

6) 删除整个逻辑卷
umount卸载逻辑卷 --> 修改配置文件/etc/fstab(若是之前更改过) --> lvremove 删除逻辑卷lvdata1 --> vgremove 删除卷组vgdata --> pvremove 将物理卷转化成普通分区
umount /dev/vgdata/lvdata1 
lvremove /dev/vgdata/lvdata1
vgremove vgdata
pvremove /dev/sdb2
pvremove /dev/sdb3

要扩展学习的内容有: 
存储相关NAS、SAN、DAS、RAID(http://www.aminglinux.com/bbs/thread-7134-1-4.html)
磁盘结构,相关概念 header,sectors,cylinders (http://www.aminglinux.com/bbs/thread-7137-1-2.html
磁盘配额(了解)
做软raid(了解)
linux文件到底是怎么存储的(http://www.aminglinux.com/bbs/thread-7191-1-4.html
parted分区gpt格式(http://www.aminglinux.com/bbs/thread-7243-1-3.html
vmware新增磁盘请注意(http://www.aminglinux.com/bbs/thread-7140-1-2.html

lesson - 6 Linux下磁盘管理的更多相关文章

  1. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  2. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

  3. Linux下磁盘管理

    设置密码mkpasswdmkpasswd -s 0mkpasswd -s 0 -1 15 规定密码的长度 1. 查看磁盘或者目录的容量df 查看磁盘各分区使用情况 不加参数以k为单位 df -i in ...

  4. linux下磁盘管理(du、df)命令使用

    DF :disk free 磁盘可用量 DU: disk usage 磁盘使用 df:列出文件系统的整体磁盘使用量: df参数: -a:列出所有的文件系统,包括系统特有的/proc等文件系统 -k:以 ...

  5. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

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

    linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a-d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a-z)),硬盘主分区最多为4个,不 ...

  7. linux下磁盘分区详解

    Centos下磁盘管理     1.磁盘分区格式说明 linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个,SCSI,SATA,USB ...

  8. linux-Centos下磁盘管理(fdisk)

    Centos下磁盘管理 - linux 磁盘基础知识 磁盘结构 磁道:上图中硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道.但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆.这些磁道是 ...

  9. Centos下磁盘管理的常用命令记录(如查找大文件)

    Centos下磁盘管理的常用命令记录 查看系统磁盘空间占用,使用命令: df -h 结果: 查看磁盘inode使用情况,如果inode用完了,磁盘就没法写入新的内容了: df -i 结果: 如何查找磁 ...

随机推荐

  1. 75、django之ORM补充

    本篇导航: QuerySet 中介模型 查询优化 一.QuerySet 1.可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. > ...

  2. [翻译]Python List Comprehensions: Explained Visually || Python列表解析式

    原文1地址: http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/ 原文2地址: http://blog.tea ...

  3. Servlet之过滤器(Filter)和监听器(Listener)

    过滤器 过滤器是一个java组件,可以拦截发送至某个servelet,jsp页面或静态页面的请求,可以在响应发送到客户之前进行拦截 工作原理: 过滤器类必须实现 Filter 接口,包含的方法如下: ...

  4. openvpn技术实现客户端直接访问远程机器中docker内容器的实现与原理

    传统开发中如果要从开发机中访问服务器中的docker中的服务可能可能需要如下方案: 利用docker run的-p属性直接映射端口到服务器中 优点:客户端直接访问服务器就可以访问到docker容器. ...

  5. Axios 执行post发送两次请求的小坑

    vue-resource2.0已经不再更新,所以vue2.0官方推荐使用axios来代替.实际项目也是应用上了vue+axios,然后就有了这么一段填坑的经历. 问题:axios使用post请求时,发 ...

  6. Scala入门系列(五):面向对象之类

    定义类 // 定义类,包含field以及method class HelloWorld { private var name = "Leo" def sayHello() { pr ...

  7. 51Nod--1018排序

    1018 排序 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出N个整数,对着N个整数进行排序 Input 第1行:整数的数量N(1 <= N  ...

  8. MySQL之事务的四大特性

    事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎能够成功地对数据应用该组查询的全部语句,那么久执行该组查询.如果其中任何一条语句因为崩溃或其他原因无法执行,那么所有语句都不会执 ...

  9. CenterOS 7 基础命令学习

    CentOS 7 命令 网络配置 nmcli(NetworkManageCommandLineInterface)查看网卡 nmtui(NetworkManageTextUserInterface)网 ...

  10. centOS 搭建pipelineDB docs

    #下载docs git clone https://github.com/pipelinedb/docs.git #安装python-sphinx &python-dev yum instal ...