linux-磁盘管理

磁盘分区
磁盘分区有利于数据的分类存储,管理员可根据磁盘中将要存放的文件类型、数量和文件大小等因素,合理规划磁盘空间,以提高磁盘使用率与读取速率。常见的磁盘分区方式为MBR分区和 GPT分区。
MBR全称Master Boot Record,即主引导记录。磁盘中的空间以扇区为单位。
fdisk [ 选项 ] [ 磁盘 ]

选项说明
-l详细显示磁盘及其分区信息
-s显示磁盘分区容量(单位为block)
-b设置扇区大小(扇区大小取值为512、1024、2048或4096,单位MB)
fdisk 示例:
# fdisk –l /dev/sda
# fdisk -s /dev/sda
查看磁盘使用情况
以/dev/sda磁盘为例展示fdisk命令的交互用法。
fdisk -l /dev/sda # 查看磁盘使用情况

fdisk /dev/sda 

创建新分区   n
在磁盘/dev/sda上创建新分区    e

 在磁盘/dev/sda上创建逻辑分区  l

查看分区表    p
查看磁盘/dev/sda此时的分区表
最后在分区工具中输入"w",将分区表写入磁盘。另外运行如下命令,启用分区
  partprobe 磁盘分区

 GPT分区

parted [选项] 设备 [命令] 

修改分区表类型  parted 磁盘 mklabel gpt

 示例:

 parted /dev/sdb mklabel gpt

 查看分区表信息  parted 磁盘 print

示例:
  parted /dev/sdb print

创建分区  parted 磁盘 mkpart 分区类型 文件系统 起始 结束

 parted /dev/sdc mkpart ext2 1 2G

删除分区  parted 磁盘 rm 分区编号

 parted /dev/sdc rm 1

 分区复制   parted 磁盘 cp 源设备 源分区 目标分区

 parted /dev/sdc cp /dev/sdb sdb3 sdc1

 格式化

 Linux系统中使用mkfs命令实现格式化分区的功能,该命令的格式如下:

mkfs [ 选项 ] [ 参数 ] 分区

 mkfs命令的用法示例如下:

 mkfs –t ext2 /dev/sda5

 也可使用“mkfs.文件系统”的方式格式化分区,示例如下:

 mkfs.ext2 /dev/sda5

挂载  

Linux系统中可以使用mount命令将某个分区挂载到目录,mount命令常用的格式如下:

 mount [选项] [参数] 设备 挂载点

-t
选项-t用于指定待挂载设备的文件系统类型,常见的类型如下:
ISO9660:光盘/光盘镜像;
MS-DOS:DOS fat16文件系统;
VFAT:Windows 9x fat32文件系统;
NTFS:Windows NT ntfs文件系统;
SMBFS:Mount Windows文件网络共享;
NFS:UNIX(LINUX)文件网络共享。
-o
选项-o主要用来描述设备的挂载方式,常用的挂载方式如表所示。
方式说明
loop将文件视为硬盘分区挂载到系统
roread-only,采用只读的方式挂载
rw采用读写的方式挂载
iocharset指定访问文件系统所用的字符集
remount重新挂载
挂载—示例
(1)挂载移动硬盘
确认设备连接到主机
使用挂载命令: mount /dev/sdb5 /home/aaa
(2)挂载镜像文件
上传镜像文件到linux的mnt目录
使用挂载命令: mount -o rw –t iso9660 /usr/test.iso /home/bbb

 卸载  umount [选项] 参数

 umount /mnt

LVM逻辑卷管理 

创建PV/VG/LV的方法
将各物理磁盘或分区的系统类型设为Linux LVM,其system ID为8e,通过fdisk工具中的t命令设置

[root@localhost ~]# fdisk /dev/sdb
...
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select ( default p): p
Partition number (2-4, default 2): 2
First sector (20973568-62914559, default 20973568):
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-62914559, default 62914559):
+5G
...
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e # 指定system id为8e
Changed type of partition 'Linux' to 'Linux LVM'
...
Command (m for help): p
...
/dev/sdb1 2048 20973567 10485760 8e Linux LVM
/dev/sdb2 20973568 31459327 5242880 8e Linux LVM
Command (m for help): w
...

将各物理磁盘或分区初始化为PV(physical volume,物理卷)

 pvcreate:创建物理卷  

pvcreate [option] DEVICE
-f :强制创建逻辑卷,不需用户确认
-u :指定设备的UUID
-y :所有问题都回答yes

 pvcreate /dev/sdb1 /dev/sdb2

 pvscan:扫描当前系统上的所有物理卷

pvscan [option]
-e :仅显示属于输出卷组的物理卷
-n :仅显示不属于任何卷组的物理卷
-u :显示UUID
pvdisplay:显示物理卷的属性
pvdisplay [PV_DEVICE]
pvremove:将物理卷信息删除,使其不再被视为一个物理卷
pvremove [option] PV_DEVICE
-f :强制删除 
-y :所有问题都回答yes
pvremove /dev/sdb1
创建VG(volume group,卷组)

 vgcreate:创建卷组

vgcreate [option] VG_NAME PV_DEVICE
-s :卷组中的物理卷的PE大小,默认为4M
-l :卷组上允许创建的最大逻辑卷数
-p :卷级中允许添加的最大物理卷数

 vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2

 vgscan:查找系统中存在的LVM卷组,并显示找到的卷组列表

 vgdisplay:显示卷组属性

vgdisplay [option] [VG_NAME] 

-A :仅显示活动卷组的信息
-s :使用短格式输出信息
vgextend:动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量
用法: vgextend VG_NAME PV_DEVICE
vgextend myvg /dev/sdb3
vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量,不能删除LVM卷组中剩余的最
后一个物理卷
vgreduce VG_NAME PV_DEVICE
vgremove:删除卷组,其上的逻辑卷必须处于离线状态
用法: vgremove [-f] VG_NAME

 -f :强制删除 

vgchange:常用来设置卷组的活动状态
用法: vgchange -a n/y VG_NAME
-a n 为休眠状态,休眠之前要先确保其上的逻辑卷都离线;
-a y 为活动状态
在卷组上创建LV(logical volume,逻辑卷)
vcreate:创建逻辑卷或快照
用法: lvcreate [选项] [参数]
-L :指定大小
-l :指定大小(LE个数)
-n :指定名称
-s :创建快照
-p r :设置为只读(该选项一般用于创建快照中)

 lvcreate -L 500M -n mylv myvg

 lvscan:扫描当前系统中的所有逻辑卷,及其对应的设备文件

 lvdisplay:显示逻辑卷属性

 lvdisplay [/dev/VG_NAME/LV_NAME]

lvextend:可在线扩展逻辑卷空间
用法: lvextend -L/-l 扩展的大小 /dev/VG_NAME/LV_NAME
-L :指定扩展(后)的大小。例如,-L +800M表示扩大800M,而-L 800M表示扩大至800M
-l :指定扩展(后)的大小(LE数)
lvextend -L 200M /dev/myvg/mylv

 lvreduce:缩减逻辑卷空间,一般离线使用

lvreduce -L/-l 缩减的大小 /dev/VG_NAME/LV_NAME
-L :指定缩减(后)的大小
-l :指定缩减(后)的大小( LE数)
lvreduce -L 200M /dev/myvg/mylv

 lvremove:删除逻辑卷,需要处于离线(卸载)状态

lvremove [-f] /dev/VG_NAME/LV_NAME
-f :强制删除

 RAID磁盘阵列

RAID(Redundant Arrays of Independent Disks,即磁盘阵列)的核心思想是将多个独立的物 理磁盘按照某些方式组合成一个逻辑磁盘,这种技术早期的研究目的是使用多个廉价小磁盘替代 大容量磁盘,节约成本,随着磁盘的发展,RAID技术更侧重于提高磁盘容错功能与传输速率, 提升磁盘性能。
RAID分为软件RAID和硬件RAID,软件RAID和硬件RAID可以实现相同的功能。
1、软件RAID
主流操作系统都已集成了软件RAID功能,但由于软件RAID没有独立的硬件控制设备,性能略为
低下。
2、硬件RAID
硬件RAID本身有独立的控制部件和内存,不占用系统资源,且效率高、性能强。
RAID卡价格低廉,目前市面上的多数主板已集成了RAID卡,因此硬件RAID存储系统常被用于生
产环境中。
Linux系统中使用mdadm命令创建和管理RAID,该命令的全称是multiple devices admin,其语
法格式如下:
mdadm [ 模式 ] <RAID 设备名 > [ 选项 ] < 组件设备名 >

 

工作模式说明
-A/--accemble组合。将一个本属于一个已存在阵列的每个设备组装为阵列
-B/--build构建。构建一个不需要超级块的阵列,阵列中每个设备都没有超级块
-C/--create创建。创建一个新阵列
-F/--follow/--monitor监视。监视一个或多个阵列的状态
-G/--grow增长。更改RAID的容量
--auto-detect自动侦测。请求内核启动任何自动检测的阵列
-I/--incremental增加。向阵列中添加单个设备,或从阵列中删除单个设备
mdadm命令在-C模式下的常用选项如表所示。
选项说明
-l指定RAID级别
-n指定设备数量
-a{yes|no}是否为其自动创建设备文件
-c指定数据块大小
-x指定空闲盘个数,空闲盘可自动顶替损坏的工作盘
使用之前先安装命令

 yum install mdadm

# 创建
mdadm -C /dev/md0 -l 0 -n 2 /dev/sda5 /dev/sda6
# 查看
mdadm -D /dev/md0
# 格式化
mkfs.xfs /dev/md0
# 挂载
mount /dev/md0 /home/ddd
# 查看容量
df -hT /home/ddd

 磁盘查看命令df和du

 Linux 磁盘管理常用三个命令为 dfdu fdisk

df (英文全称:disk free):列出文件系统的整体磁盘使用量
du (英文全称:disk used):检查磁盘空间使用量
fdisk :用于磁盘分区

 df

命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:
df [-ahikHTm] [ 目录或文件名 ]
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘用的 空间的查看,还是和df命令有一些区别的,这里介绍 Linux du 命令。
语法:

 du [-ahskm] 文件或目录名称

选项与参数:
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值