linux磁盘分区管理

xiaoxiao2021-02-28  113

Linux磁盘分区管理

磁盘管理


Linux磁盘管理好坏管理直接关系到整个系统的性能问题。 Linux磁盘管理常用四个命令为df、du和fdisk,free,blkid。 • df:列出文件系统的整体磁盘使用量 • du:检查磁盘空间使用量 • fdisk:用于磁盘分区 •free:可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。 • blkid:查看磁盘uuid,type


命令介绍

df

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

fdisk

磁盘分区命令 1.查看当前系统识别了几块硬盘: fdisk -l 2.fdisk /dev/设备 新建分区 [root@localhost ~]# fdisk /dev/sdb 划分/dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): m 获取帮助 Command action a toggle a bootable flag b edit bsd disklabel 设定设备标签 c toggle the dos compatibility flag d delete a partition 删除设备 g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types 列出设备类型 m print this menu n add a new partition 新建 o create a new empty DOS partition table p print the partition table 显示分区表 q quit without saving changes 退出分区工具 s create a new empty Sun disklabel t change a partition's system id 改变分区功能标签 u change display/entry units v verify the partition table w write table to disk and exit 保存更改的分区表 x extra functionality (experts only) Command (m for help):n Partition type:p 指定划分设备的分区类型 p primary (0 primary, 0 extended, 4 free) e extended Partition number (1-4, default 1):1 指定使用的分区表号 First sector (1-530, default 530):enter 分区起始快,选择默认 Using default value 530 Command (m for help): p 显示分区表 Disk /dev/sdb: 4362 MB, 4362985472 bytes Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x7c2200a8 Device Boot Start End Blocks Id System /dev/vdb1 1 530 4257193 83 Linux ##被划分出来的分区 Command (m for help): wq ##保存更改方式并退出 [root@diskctrl ~]# partprobe 同步分区表 [root@diskctrl ~]# cat /proc/partitions 查看系统能识别的分区 major minor #blocks name 8 0 10533536 sda 8 1 102400 sda1 8 2 10429440 sda2 8 16 4260728 sdb 8 17 4257193 sdb1

free free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区

-b:以Byte为单位显示内存使用情况; -k:以KB为单位显示内存使用情况; -m:以MB为单位显示内存使用情况; -o:不显示缓冲区调节列; -s<间隔秒数>:持续观察内存使用状况; -t:显示内存总和列; -V:显示版本信息。

blkid

blkid: 查询或查看磁盘设备的相关属性 UUID TYPE LABEL

dd

linux创建一定大小文件命令 if=数据来源 of=数据存储目标 bs=1 count=2 seek=#: 创建数据文件时,跳过的空间大小;

dd if=/dev/zero of=/var/swapfile bs=1M count=24

磁盘修复及基本信息查看命令


e2label: 用于查看或定义卷标 e2label 设备文件 卷标: 设定卷标 tune2fs: 调整文件系统的相关属性 -j: 不损害原有数据,将ext2升级为ext3; -L LABEL: 设定或修改卷标; -m : 调整预留百分比; -r : 指定预留块数; -o: 设定默认挂载选项;acl -c :指定挂载次数达到#次之后进行自检,0或-1表关闭此功能; -i : 每挂载使用多少天后进行自检;0或-1表示关闭此功能; -l: 显示超级块中的信息; dumpe2fs: 显示文件属性信息 -h: 只显示超级块中的信息 fsck: 检查并修复Linux文件系统 -t FSTYPE: 指定文件系统类型 -a: 自动修复 e2fsck: 专用于修复ext2/ext3文件系统 -f: 强制检查; -p: 自动修复;

分区管理 swap分区管理: fdisk命令中,调整分区类型为82;

创建交换分区: mkswap /dev/sdb1

swap分区的管理


swapon -s 查看系统中的swap分区 建立swap分区 mkswap /dev/sdb1 把/dev/vdb1格式化成swap格式 swapon -a /dev/sdb1激活 编辑vim /etc/fstab 开机自动激活 /dev/sdb1 swap swap defautls 0 0
关闭swap分区,首先删除/etc/fstab中的swap自动激活条目 swapoff /dev/sdb1 关闭激活的swap分区
回环设备 loopback, 使用软件来模拟实现硬件

分区加密


[root@localhost~]cryptsetup luksFormat /dev/sdb1 WARNING! This will overwrite data on /dev/sdb1 irrevocably. Are you sure? (Type uppercase yes): YES 确定加密 Enter passphrase: 密码大于8位,并且不能太简单 Verify passphrase: 确认密码 [root@localhost~]# cryptsetup open /dev/sdb1 file 解密 Enter passphrase for /dev/sdb1: [root@localhost~]# mkfs.xfs /dev/mapper/file 用管理文件格式化设备 [root@localhost~]# mount /dev/mapper/file /mnt/ 使用设备 [root@localhost~]#umount /mnt/ 卸载设备 [root@localhost mnt]# cryptsetup close file 关闭设备加密层 自动挂载加密设备 [root@localhost~]# vim /etc/crypttab 设定开机解密 解密后名称 设备 密码文件 [root@localhost~]# vim /etc/fstab 开机自动挂载加密设备 /dev/mapper/file /mnt xfs defaults 0 0 [root@localhost~]# vim /root/passwd 系统自动读取密码记录文件 解密密码 [root@localhost~]# cryptsetup luksAddKey /dev/sdb1 /root/passwd ##把密码记录文件与设备关联 Enter any passphrase: 设备解密密码

LVM逻辑卷


1.lvm名词 lvm 逻辑卷,可以让设备自由伸缩的一个设备管理软件 pv 物理卷 vg 物理卷组 pe 物理拓展,lvm最小的存储单元 lvm 逻辑卷,时最终我们使用的可以伸缩的设备 2.lvm的制作 首先划分lvm所用到的设备,这些设备的功能id必须时linux LVM

1)lvm建立 pvcreate /dev/sdb1 把物理分区做成物理卷 pvs|pvdisplay 查看物理卷 vgcreate vg0 /dev/sdb1 用制作好的/dev/sdb1这个物理卷制作一个物理卷组vg0 vgs|vgdisplay 查看物理卷组 lvcreate -L 200M -n lv0 vg0 在vg0这个组中建立出lv0设备 -L 指定设备大小 –n 指定设备名字 lvs|lvdisplay 对逻辑卷设备进行查看
3.lvm设备的扩大 ###############针对xfs文件系统###################### xfs文件系统只能扩大不能缩减 1)lvm扩大 lvextend —L 500M /dev/vg0/lv0 扩大lvm设备到500M xfs_growfs /dev/vg0/lv0 扩大xfs文件系统到设备大小 2)vg扩大 pvcreate /dev/vdb2 在pv中增加一块设备/dev/vdb2 vgextend vg0 /dev/vdb2 ##把新建立的/dev/vdb2添加到vg0中
##############针对ext文件系统#################### ext文件系统可以扩大也可以缩减 1)lvm扩大 lvextend —L 2G /dev/vg0/lv0 扩大lvm设备到2G resize2fs /dev/vg0/lv0 设定文件系统大小和设备同步 2)vg扩大 pvcreate /dev/vdb3 在pv中增加一块设备/dev/vdb3 vgextend vg0 /dev/vdb3 把新建立的/dev/vdb2添加到vg0中 3)lvm缩减 umount /dev/vg0/lv0 卸载设备,因为文件系统缩减不支持在线操作 e2fsck -f /dev/vg0/lv0 测文件系统,确定文件系统中已有数据大小防止过度缩减 resize2fs /dev/vg0/lv0 1G 把文件系统缩减到1G lvreduce -L 1G /dev/vg0/lv0 设备缩减到1G 4)vg缩减 在vg缩减时只能缩减没有被占用的设备 pvmove 设备1 设备2 设备1上的所有数据移动到设备2上 vgreduce vg0 /dev/vdb1 把vg0中的/dev/vdb1删除 pvremove /dev/vdb1 把/dev/vdb1上的lvm管理信息删除
lvm快照 lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0 给/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板设备 mount /dev/vg0/lv0-backup /userdate 当快照设备里的数据被更改,如果想还原,删除快照设备,在重新建立快照即可 lvm删除 lvremove---->vgremove----->pvremove

磁盘配额


1.磁盘配额时限制用户向设备中写入数据的大小,或者个数 2.此这定针对与设备的, 3.做法 mount -o usrquota,grpquota /dev/sdb1 /pub 激活配额功能参数 quotaon -ugv /pub 开启配额 edquota -u li 设定lee的配额 repquota -a root可以执行,查看用户配额信息 quota 配额限制用户查看自己配额信息命令 4.开机自动激活配额 vim /etc/fstab /dev/sdb1 /pub xfs defaults,usrquota,grpquota 0 0 5.关闭配额 删除vim /etc/fstab中的配额参数 quotaoff -ugv 设备

raid 磁盘阵列


建立3个分区,并设定3个分区的功能标签位raid mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}

-C 建立 -a 文件不存在建立文件 -l raid级别 -n 设备个数 -x 闲置设备个数 cat /proc/mdstat 设备信息 mdadm -D /dev/md0 设备配置信息 mdadm /dev/md0 -f /dev/vdb1 损坏设备1 mdadm /dev/md0 -r /dev/vdb1 移除设备1 mdadm /dev/md0 -a /dev/vdb1 复设备1 mdadm -S /dev/md0 停止设备

分区格式化文件类型


mkfs: make file system -t FSTYPE mkfs -t ext2 = mkfs.ext2 mkfs -t ext3 = mkfs.ext3 专门管理ext系列文件: mke2fs -j: 创建ext3类型文件系统 -b BLOCK_SIZE: 指定块大小,默认为4096;可用取值为1024、2048或4096; -L LABEL:指定分区卷标; -m : 指定预留给超级用户的块数百分比 -i : 用于指定为多少字节的空间创建一个inode,默认为8192;这里给出的数值应该为块大小的2^n倍; -N : 指定inode个数; -F: 强制创建文件系统; -E: 用户指定额外文件系统属性;

分区的挂载


挂载:将新的文件系统关联至当前根文件系统 卸载:将某文件系统与当前根文件系统的关联关系预以移除;

mount:挂载 mount 设备 挂载点 设备: 设备文件:/dev/sda5 卷标:LABEL=“” UUID: UUID=“” 挂载点:目录 要求: 1、此目录没有被其它进程使用; 2、目录得事先存在; 3、目录中的原有的文件将会暂时隐藏; 可以挂载iso镜像;目录;以及磁盘文件

文件系统的配置文件/etc/fstab,OS在初始时,会自动挂载此文件中定义的每个文件系统 要挂载的设备 挂载点 文件系统类型 挂载选项 转储频率(每多少天做一次完全备份) 文件系统检测次序(只有根可以为1) /dev/sr0 /mnt/yum iso9660 defaults 0 0 mount -a:挂载/etc/fstab文件中定义的所有文件系统

mount: 显示当前系统已经挂载的设备及挂载点 mount [options] [-o options] DEVICE MOUNT_POINT -a: 表示挂载/etc/fstab文件中定义的所有文件系统 -n: 默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用—n选项意味着挂载设备时,不把信息写入此文件; -t FSTYPE: 指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应文件系统的类型; -r: 只读挂载,挂载光盘时常用此选项 -w: 读写挂载 -o: 指定额外的挂载选项,也即指定文件系统启用的属性; remount: 重新挂载当前文件系统 ro: 挂载为只读 rw: 读写挂载

挂载完成后,要通过挂载点访问对应文件系统上的文件;

umount: 卸载某文件系统 umount 设备 umount 挂载点 卸载注意事项: 挂载的设备没有进程使用; fuser: 验正进程正在使用的文件或套接字文件 -v: 查看某文件上正在运行的进程 -k:kill杀掉此进程 -m:关于此进程的信息

fuser -km MOUNT_POINT:终止正在访问此挂载点的所有进程


转载请注明原文地址: https://www.6miu.com/read-27107.html

最新回复(0)