磁盘存储和文件系统

磁盘存储和文件系统:

磁盘设备的文件命名:/dev/dev_file
虚拟磁盘:/dev/vd
磁盘标识: /dev/sda,/dev/sdb……
磁盘分区:/dev/sda1,/dev/sdb2……

chs 磁盘
sector 扇区 512bytes
track 磁道
head 磁头
cylinder柱面

使用磁盘: 分区
创建文件系统:格式化
挂载:分配目录名

hexdump -C -n 512 /dev/sda
查看sda磁盘里前512个字节

分区:
两种方式:MBR,GPT
MBR:使用32位表示扇区数,分区不查过2T,按柱面分区。
4个分区,3个主分区+1个扩展分区(N个逻辑分区)

lsblk 列出块设备
-f 查看块设备信息

partprobe 通知内核重新读取硬盘分区表(同步分区)(centos7)
centos6:通知内核重新读取硬盘分区表
新增分区用(可用来同步分区) partx -a /dev/sdc1 ;
kpartx -a /dev/DEVICE -f: force
删除分区用 partx -d –nr /dev/DEVICE

parted (即时生效,小心使用)
-l 列出分区信息

磁盘存储和文件系统操作步骤:

1、先创建硬盘。(sdb)
2、使用fdisk创建分区。 (fdisk /dev/sdb)
3、使用mkfs.ext4(xfs)创建文件系统。 (mkfs.xfs /dev/sdb1)(blkid 查看UUID)
4、使用mount挂载。 (mount /dev/sdb1 /mnt/zzz/) 把/dev/sdb1挂载到/mnt/zzz目录
5、使用blkid查看UUID,再写入vim /etc/fstab下。
6、使用lsblk ; df 查看。

创建分区使用: fdisk 创建MBR分区
gdisk 创建GPT分区
parted 高级分区操作

分区工具:fdisk、gdisk
fdisk -l 查看分区 (后面跟磁盘)
fdisk /dev/sda 管理分区
gdisk /dev/sda 类似fdisk的GPT分区工具

p 分区列表 
t 更改分区类型 
n 创建新分区 
d 删除分区 
v 校验分区 
u 转换单位 
w 保存并退出 
q 不保存并退出

echo -e “n\np\n\n\n+2G\nw\n” | fdisk /dev/sdb
自动创建一个2G的分区(可用于脚本)

cat /proc/partations 查看内核是否已经识别新分区

创建文件系统:mkfs (ext4,xfs,btrfs,vfat)
mkfs -t
-f 强制创建文件系统
mkfs.xfs /dev/sdb1

创建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:关闭指定特性

mknod 创建相似文件
mknod /文件 b 8 0

blkid 查看块设备属性信息
-U UUID: 根据指定的uuid来查找对应的设备
-L LABEL: 根据指定的LABEL来查找对应的设备
e2label 管理ext系列文件系统的LABEL

findfs 查找分区

tune2fs 重新设定ext系列文件系统可调整参数的值
tune2fs -l /dev/sda1
-l 查看指定文件系统超级块信息
-L ‘LABEL’ : 修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O 文件系统属性启用或禁用, –O ^has_journal
-o: 调整文件系统的默认挂载选项,–o ^acl
-U UUID: 修改UUID号

dumpe2fs: /dev/sda1 查看块大小
块分组管理,32768块
-h 查看超级块信息,不显示分组信息
e2fsck : ext系列文件专用的检测修复工具
-y 自动回答为yes
-f 强制修复
ejeck 弹出光驱
free 查看内存大小
fuser 查看挂载文件

挂载mount: 将额外文件系统与根文件系统某现存的目录建立起关联关系,
进而使得此目录作为其他文件访问入口的行为。
卸载:为解除此关联关系的过程 
把设备关联挂载点:mount Point mount 
卸载时:可使用设备,也可以使用挂载点 umount 
挂载点下原有文件在挂载完成后会被临时隐藏 
挂载点目录一般为空

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

-o options :(挂载文件系统的选项),多个选项使用逗号分隔
async:异步模式
sync:同步模式,内存更改时,同时写磁盘
atime/noatime:包含目录和文件
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载,是否支持-a选项
exec/noexec:是否支持将文件系统上运行应用程序
dev/nodev:是否支持在此文件系统上使用设备文件
suid/nosuid:是否支持suid和sgid权限
remount:重新挂载
ro:只读
rw:读写
user/nouser:是否允许普通用户挂载此设备,/etc/fstab使用
acl:启用此文件系统上的acl功能
loop: 使用loop设备
default:相当于rw,suid,dev,exec,auto,nouser,async

findmnt /dev/sd…… 查看挂载情况
lsof ,fuser -v 查看正在访问指定文件系统的进程
fuser -km 终止所有正在访问指定文件系统的进程

umount 卸载

etc/fstab 查看,定义文件系统(UUID……)
defaults 挂载选项

转储频率:0:(不做备份) 1:(每天转储) 2:(每隔一天转储)

处理交换文件和分区:
交换分区是系统RAM的补充
基本设置包括:创建交换分区或文件
使用mkswap写入特殊签名
在etc/fstab文件中添加适当的条目
使用swapon -a激活交换空间
挂载交换分区:
swapon 启用
-a 激活所有交换分区
-p 指定优先级
swapoff 禁用

挂载点通常在/media 或 /mnt 下

使用光盘: 手动挂载 mount /dev/cdrom /mnt/
创建ISO文件:cp /dev/cdrom /root/centos7.iso (先备份)
mkisofs -r -o /root/etc.iso /etc

查看USB设备是否识别 lsusb
被内核探测为SCSI设备
图形环境自动挂载:/run/media/<user>/<label>
手动挂载:mount /dev/sdb1 /mnt

df : 文件系统空间占用等信息的查看工具
-H 以1000为单位
-T 文件系统类型
du : 查看某目录总体空间占用状态

dd : 复制,备份文件(指定路径)
dd if=/etc/shell of=/data/zzz 把shell文件全盘备份到zzz文件

dd if=/dev/sdx | gzip >/data/zzz 备份sdx全盘数据,并利用gzip压缩,保存到zzz文件

恢复:
dd if=/data/zzz of=/etc/shell 将备份文件zzz恢复到指定盘shell

gzip -dc /data/zzz | dd of=/dev/sdxv 将压缩的备份文件恢复到指定盘

dd if=/dev/mem of=/root/mem.bin bs=1024 将内存里的数据拷贝到root目录下得mem.bin文件

dd if=/dev/cdrom of=/root/cd.iso 拷贝光盘数据到root文件夹下,并保存为cd.iso文件

dd if=/dev/urandom of=/dev/sda1 利用随机数开填充硬盘,销毁数据,/dev/sda1将无法挂载……

dd if=/dev/sda of=/dev/sda 修复硬盘(长时间放置不用)

创建swap 分区或文件:
1、fdisk /dev/sdb1 t 82
dd if=/dev/zero of=/swapfile bs=1M count=2048
2、mkswap /dev/sdb1 -L swap_sdb1
3、vim /etc/fstab
UUID=xxx swap swap defaults,pri=100 0 0
/swapfile swap swap defaults 0 0
4、swapon -a
5、swapon -s 查看生效 free -h
6、swapoff /dev/sdb1 禁用swap分区

迁移/home到新分区上:
1 备份/home/
2 fdisk
3 mkfs.ext4 /dev/sdb1 -L /home
4 mkdir /mnt/home;mount /dev/sdb1 /mnt/home
5 init 1 网断
6 cp -av /home/* /mnt/home
7 rm -rf /home/*
8 vim /etc/fstab
UUID=xxx /home ext4 defaults 0 0
mount -a
ls /home /mnt/home -l
9 umount /mnt/home;rm -rf /mnt/home
10 init 5

RAID :
提高IO能力:磁盘并行读写
提高耐用性:磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式有所不用
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID: 主板集成RAID控制器(安装OS前在BIOS里配置)
软件RAID: 通过OS实现

RAID级别:RAID-0; RAID-1; RAID-4; RAID-5; RAID-6; RAID-10; RAID-01; RAID-50;

mdadm: 为软RAID提供管理界面
mdadm -C -n /dev/md0……
-C 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小,单位k
-x #: 指明空闲盘的个数
-D 显示RAID的详细信息
-A 装配
-F 监控
-f 标记指定磁盘为损坏
-a 添加磁盘
-r 移除磁盘

使用mdadm创建并定义RAID设备 :
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

用文件系统对每个RAID设备进行格式化: mke2fs -j /dev/md0

使用mdadm检查RAID设备的状况: mdadm –detail|D /dev/md0

增加新的成员: mdadm –G /dev/md0 –n4 -a /dev/sdf1

逻辑卷管理器(LVM) :
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小。
允许在多个物理设备间重新组织文件系统:
将设备指定为物理卷。
用一个或多个物理卷来创建一个卷组。
物理卷是用固定大小的物理区域(physicsl Extent, PE)来定义的。
在物理卷上创建逻辑卷是由物理区域(PE)组成。
可以在逻辑卷上创建文件系统。

操作步骤:(1-4 其实就是分区)

1、先用fdisk在磁盘分区。(fdisk /dev/sdb)(fdisk /dev/sdc)(创建完后使用p查看分区,然后使用t将分区ID改成8e)(linux LVM 逻辑卷管理)

2、使用pvcreate先把普通磁盘或分区变成物理卷。(pvcreate /dev/sdb1)(pvcreate /dev/sdc1)

3、使用vgcreate把若干个物理卷加到卷组(创建卷组vg0)。(vgcreate -s 16M vg0 /dev/sdb1 /dev/sdc1)( -s 指定PE的大小)

4、再把卷组中分出一块空间命名成逻辑卷(创建逻辑卷lv0)。(lvcreate -n lv0 -L 5G vg0)(-l 是按PE来设置分区大小)

5、使用mkfs.创建一下文件系统(格式化)(mkfs.xfs /dev/vg0/lv0)

6、挂载。使用blkid查看UUID,打开vim /etc/fstab保存在文件中。(在使用mount /dev/vg0/lv0 /mnt/ljj0)

设备名:/dev/dm-0……

PV管理工具(物理卷):
pvs : 查看现有的物理卷
pvdisplay:查看详细物理卷信息

创建pv(物理卷) : pvcreate /dev/sdb1

vg管理工具(卷组):
显示卷组 vgs (vgdisplay:查看详细卷组信息)
管理卷组 vgcreate -s 16M vg0 /dev/sdb1
删除卷组 先pvmove,再vgremove

lv管理工具(逻辑卷):
显示逻辑卷 lvs (lvdisplay: 查看详细逻辑卷信息)
创建逻辑卷 lvcreate -L 256M -n lv0 vg0
删除逻辑卷 lvremove /dev/
重设文件系统大小 fsadm
resize2fs

扩展逻辑卷:lvextend -L
resize2fs
lvresize
缩减逻辑卷:(xfs文件系统不能缩减centos7)
umount
e2fsck -f
resize2fs
lvreduce -L

resize2fs /dev/sd…… 重新刷新

创建逻辑卷示例:

 创建物理卷 pvcreate /dev/sda3 
把物理卷添加到卷组 vgcreate vg0 /dev/sda3 
从卷组创建逻辑卷 lvcreate -L 256M -n lv0 vg0
mke2fs -j /dev/vg0/data
mount /dev/vg0/data /mnt/data

逻辑卷管理器快照:

为现有逻辑卷创建快照 lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data 
挂载快照 mkdir -p /mnt/snap
mount -o ro /dev/vg0/data-snapshot /mnt/snap 
恢复快照 umount /dev/vg0/data-snapshot
umount /dev/vg0/data
lvconvert –merge /dev/vg0/data-snapshot
删除快照 umount /mnt/databackup
lvremove /dev/vg0/databackup

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98956

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班