磁盘管理

管理分区

  • 列出块设备
      lsblk

parted命令 高级分区操作

用法:
  parted [选项]... [设备 [命令 [参数]...]...]
  parted /dev/sdb mklabel gpt|msdos
  parted /dev/sdb print
  parted /dev/sdb mkpart primary 1 200 (默认M)
  parted /dev/sdb rm 1
  parted –l 列出分区信息

分区工具

  • gdisk /dev/sdb 类fdisk 的GPT分区工具
  • fdisk -l [-u] [device...] 查看分区
  • fdisk /dev/sdb 管理分区
  • 子命令:
      p 分区列表
      t 更改分区类型
      n 创建新分区
      d 删除分区
      v 校验分区
      u 转换单位
      w 保存并退出
      q 不保存并退出

同步分区表

  • 查看内核是否已经识别新的分区
     cat /proc/partations
  • centos6通知内核重新读取硬盘分区表
    新增分区用
     partx -a /dev/DEVICE
     kpartx -a /dev/DEVICE -f: force
    删除分区用
     partx -d --nr M-N /dev/DEVICE
  • CentOS 5,7: 使用partprobe  partprobe [/dev/DEVICE]

文件系统类型

  •  ext2(Extended file system) :适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区
  •  ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复。它通常被用作通用的文件系统
  •  ext4:是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升
  •  xfs:SGI,支持最大8EB的文件系统
  •  btrfs(Oracle), reiserfs, jfs(AIX), swap
  • 光盘:iso9660

文件系统分类

  • 根据其是否支持"journal"功能:
     日志型文件系统: ext3, ext4, xfs, ...
     非日志型文件系统: ext2, vfat
  • 文件系统的组成部分:
     内核中的模块:ext4, xfs, vfat
     用户空间的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat

创建文件系统

  • mkfs命令:
    (1) mkfs.FS_TYPE /dev/DEVICE
     ext4
     xfs
     btrfs
     vfat
    (2) mkfs -t FS_TYPE /dev/DEVICE
     -L 'LABEL' 设定卷标

创建ext文件系统

  • mke2fs:ext系列文件系统专用管理工具
    -t {ext2|ext3|ext4} 指定文件系统类型
    -b {1024|2048|4096} 指定块大小
    -L ‘LABEL’ 设置卷标
    -j 相当于 -t ext3
     mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
    -i # 为数据空间中每多少个字节创建一个inode;不应该小于block大小
    -N # 指定分区中创建多少个inode
    -I 一个inode记录占用的磁盘空间大小,128---4096
    -m # 默认5%,为管理人员预留空间占总空间的百分比
    -O FEATURE[,...] 启用指定特性
    -O ^FEATURE 关闭指定特性

用mount命令挂载文件系统

◆ 挂载方法:mount DEVICE MOUNT_POINT
◆ mount:通过查看/etc/mtab文件显示当前已挂载的所有设备
◆ mount [-f nrsvw] [-t vfstype] [-o options] device dir
 device:指明要挂载的设备;  (1) 设备文件:例如/dev/sda5
 (2) 卷标:-L 'LABEL', 例如 -L 'MYDATA'
 (3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
 (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
 dir:挂载点
 事先存在,建议使用空目录
 进程正在使用中的设备无法被卸载

◆ 常用命令选项
 -t vsftype 指定要挂载的设备上的文件系统类型
 -r readonly,只读挂载
 -w read and write, 读写挂载
 -n 不更新/etc/mtab,mount不可见
 -a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
 -L 'LABEL' 以卷标指定挂载设备
 -U 'UUID' 以UUID指定要挂载的设备
 -B, --bind 绑定目录到另一个目录上
 查看内核追踪到的已挂载的所有设备
  cat /proc/mounts

◆ 卸载命令

  • 查看挂载情况
     findmnt MOUNT_POINT|device
  • 查看正在访问指定文件系统的进程
     lsof MOUNT_POINT
     fuser -v MOUNT_POINT
  • 终止所有在正访问指定的文件系统的进程
     fuser -km MOUNT_POINT
  • 卸载
     umount DEVICE
     umount MOUNT_POINT

工具dd

◆ dd命令:转换并复制文件
◆ 用法:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#
 if=file 从所命名文件读取而不是从标准输入
 of=file 写到所命名的文件而不是到标准输出
 ibs=size 一次读size个byte
 obs=size 一次写size个byte  bs=size block size, 指定块大小(既是是ibs也是obs)
 cbs=size 一次转化size个byte
 skip=blocks 从开头忽略blocks个ibs大小的块
 seek=blocks 从开头忽略blocks个obs大小的块
 count=n 复制n个bs

RAID

RAID级别

 RAID-0:条带卷,strip
 RAID-1:镜像卷,mirror
 RAID-2
 ..
 RAID-5
 RAID-6
 RAID-10
 RAID-01

逻辑卷管理器

pv管理工具

◆ 显示pv信息
 pvs:简要pv信息显示
 pvdisplay:列出详细pv信息
◆ 创建pv
 pvcreate /dev/DEVICE
◆ 删除pv
 pvremove /dev/DEVICE

vg管理工具

◆ 显示卷组
 vgs
 vgdisplay
◆ 创建卷组
 vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [物理设备路径]
◆ 管理卷组
 vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
 vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
◆ 删除卷组
 先做pvmove,再做vgremove

lv管理工具

显示逻辑卷
 lvs
 Lvdisplay
◆ 创建逻辑卷
 lvcreate -L #[mMgGtT] -n NAME VolumeGroup
 lvcreate -l 60%VG -n mylv testvg
 lvcreate -l 100%FREE -n yourlv testvg
◆ 删除逻辑卷
 lvremove /dev/VG_NAME/LV_NAME
◆ 重设文件系统大小
 fsadm [options] resize device [new_size[BKMGTEP]]
 resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
 xfs_growfs /mountpoint

创建逻辑卷步骤:

1.硬盘分区 (用“t”创建8e标识)fdisk
2.创建物理卷
 pvcreate /dev/sd{b1,c} b1:分区 c:整块硬盘
3.物理卷加入卷组,创建卷组名字  vgcreate -s 16M 卷组名字 物理卷名字(-s 16M:设置PE单位为16M)
 blkid 查看分区UID,TYPE="LVM2_member"为逻辑卷
4.将卷组分出空间:
 lvcreate -n name (-l个数 -L容量 100%FREE将所有空间都用光) 物理卷组名字
5.创建文件系统
 mkfs.xfs (dev/vg0 物理卷名/逻辑卷名)
6.挂载:
 mount /dev/vg0/mysql(逻辑卷路径) /data/mysql(挂载点)
6.5 永久挂载
 vim /etc/fstab
 写入blkid中逻辑卷的UUID /data/mysql xfs defaults 0 0
 试着在文件夹中建数据:
cd /data/mysql/ dd if=/dev/zero of=f1 bs=1M count=1024

在线扩展逻辑卷(处于挂载状态可以直接扩展)

 lvextend -l +PE个数/+100%FREE -L +容量 /dev/vg0/mysql

  • 扩展逻辑卷:
    xfs_growfs /data/mysql/(挂载点)
    扩展ext文件系统:resize2fs /dev/vg0/mysql(逻辑卷路径)
    合并成一条: lvextend -L +1G -r /dev/vg0/mysql

  • 缩减逻辑卷(必须离线缩减) xfs不能缩减
    1.取消挂载 umount 逻辑卷路径
    2.缩减文件系统:
    2.1 e2fsck -f /dev/vg0/log (缩减到1G) 2.2 resize2fs /dev/vg0/log 1G 检查文件系统完整性
    3.缩减逻辑卷:
     lvreduce -L 1G /dev/vg0/log(缩减前先给文件做备份) 4.挂载 mount
    5.df -hT (T显示type类型)

linux基础—课堂随笔07_磁盘存储和文件系统的更多相关文章

  1. linux基础—课堂随笔010_系统启动和内核管理

    系统启动和内核管理 Linux: kernel+rootfs kernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 rootfs:程序和glibc 库:函数集合, functio ...

  2. linux基础—课堂随笔08_进程(转)

    进程优先级 命令 pstree -p 显示各个子线程 ps 进程状态(process state) UNIX风格:ps -ef BSD风格:ps aux 还有用到o参数,选项显示定制的信息: pid. ...

  3. linux基础—课堂随笔05_文本三剑客之SED

    1.简介 sed是非交互式的编辑器,它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下 ...

  4. linux基础—课堂随笔_03 SHELL脚本编程基础

    shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then条件为真的分 ...

  5. linux基础—课堂随笔09_数组

    数组:(6.14 第一节) 取分区利用率,大于百分之八十则发出警报 取分区第一列 取分区使用率: 脚本: 检查脚本语法: ——end 数组切片: 1.跳过前两个取后面 2.跳过前两个取三个 生成10个 ...

  6. linux基础—课堂随笔06_软件包管理

    软件包管理 rpm 包和包管理器 包的组成:  二进制文件.库文件.配置文件.帮助文件 程序包管理器:  debian: deb文件,dpkg包管理器  redhat:rpm文件,rpm包管理器  r ...

  7. linux基础—课堂随笔04_文件查找和压缩

    文件查找和压缩 文件查找 1.locate   这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进 ...

  8. linux基础(1)-终端&shell类型&命令&文件系统&命令帮助的获取

    终端 用于与主机交互,必然用到的设备. 物理终端 直接接入本机的显示器和键盘设备:Console. 虚拟终端 附加在物理终端之上的以软件方式虚拟实现的终端,CentOS 6 默认启动 6 个虚拟终端. ...

  9. Linux基础——硬盘分区、格式化及文件系统的管理

    1. 硬件设备与文件名的对应关系 掌握在Linux系统中,每个设备都被当初一个文件来对待. 设备 设备在Linux内的文件名 IDE硬盘 /dev/hd[a-d] SCSI硬盘 /dev/sd[a-p ...

随机推荐

  1. redis集群 应该注意的问题

    redis cluster注意的问题 : ‘cluster-require-full-coverage’参数的设置.该参数是redis配置文件中cluster模式的一个参数,从字面上基本就能看出它的作 ...

  2. 《精通并发与Netty》学习笔记(01 - netty介绍及环境搭建)

    一.Netty介绍     Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序.     ...

  3. centos超详细搭建jumpserver跳板机

    一.官网 https://docs.jumpserver.org/zh/master/  二.一站式.分布式安装文档  三.选择最新版 四.在线安装文档 五.按文档部署(4G.二核.50G硬盘)  六 ...

  4. mysql主主、mysql-proxy读写分离、keepalived高可用完美组合

    配置mysql主主复制 服务器A:172.16.100.9 服务器B:172.16.100.10 首先在服务器A和服务器B上各安装好单机版mysql5.7,安装好后,再继续下面的操作. 在服务器A和服 ...

  5. 结束占用端口号进程(pid)

  6. 关于Dev-c++运行时与Windows不兼容问题

    问题描述. 解决方案 1.鼠标右键点击图标,进入属性. 2.点击上方的兼容性. 3.在兼容模式中勾选以兼容模式运行这个程序并选择windows7. 4.再点击以管理员身份运行此程序. 5.点击应用. ...

  7. IT管理

    IT管理:变更管理:1/ 简单版,效率高类似数仓拉一个相关群,先和业务确定时间,然后在群里发通知.通知模板:@所有人 通知 :hive 计算集群停30分钟 原因: 当前数据量增多,hue 查询内存不足 ...

  8. [转帖]mysql8.0忘记密码如何操作?

    mysql8.0忘记密码如何操作? https://www.cnblogs.com/gspsuccess/p/11245314.html mark 一下 上次竟然不知道怎么弄. 很不幸,刚安装了MYS ...

  9. Spring IOC的底层实现原理

     PS:模块之间的相互依赖叫做耦合 传统方式的开发 UserService us=new UserService(); || v 面向接口编程 UserService us=new UserServi ...

  10. Redis迁移键

    迁移键: move key db 用于在Redis内部进行数据迁移 dump key + restore key ttl value 可以实现在不同的Redis实例之间进行数据迁移 127.0.0.1 ...