XFS

关于XFS文件系统概述

亡梦爱人 提交于 2021-02-16 10:51:38
前言: 目前XFS已成为Linux主流的文件系统,所以有必要了解下其数据结构和原理。 XFS文件系统 XFS是一个日志型的文件系统,能在断电以及操作系统崩溃的情况下保证数据的一致性。XFS最早是针对IRIX操作系统开发的,后来移植到linux上,目前CentOS 7已将XFS作为默认的文件系统。使用XFS已成为了潮流,所以很有必要了解下其数据结构和原理。 XFS官方说明文档参考: https://xfs.org/docs/xfsdocs-xml-dev/XFS_Filesystem_Structure//tmp/en-US/html/index.html 接下来将介绍XFS的一些概念,包括分配组、超级块、inode等等,过程中会结合xfs_db(xfs提供的输出文件系统信息的工具)打印一些信息,了解当前XFS的实时数据。 分配组(Allocation Group) XFS将空间分为若干个分配组,每个分配组大小相等(最后一个可能不等)。分配组包含有超级块、inode管理和剩余空间管理等,所以分配组可以认为是一个单独的文件系统。正是分配组这样的设计,使得XFS拥有了并行IO的能力。在单个分区上使用XFS体现不了这种并行IO能力,但是如果文件系统跨越多个物理硬件比如ceph,并行IO将大大提高吞吐量利用率。 上图为分配组的结构图,重点关注前面4个扇区,从上到下分别为超级块、空闲块信息

记一次成功的 linux 系统迁移

允我心安 提交于 2021-02-16 09:53:19
需求 手头多余了一块闲置的 SSD,可以把用了4年的笔记本的机械硬盘替换升级。笔记本装的是 Linux 系统,选择手动迁移分区。 成功之路 原始磁盘是 MBR 的 UEFI 引导,根目录是 ext4 分区, efi 分区是 vfat。 迁移后的磁盘是 GPT 的 UEFI 引导盘,根目录是 xfs 分区, efi 分区是 vfat, boot 分区是 vfat (fat32)。 进入 live-cd ,建立好 SSD 上的分区后,通过 rsync 完成数据迁移。 挂载好三个分区,确认位置层次正确后,通过 manjaro-chroot 进入 SSD 上的系统。 修改 /etc/fstab 使其指向正确的物理位置,(使用 UUID 代替设备路径,通过 blkid 查看 UUID) 更新 efi , grub-install --target=x86_64-efi --efi-directory=/boot/efi 更新 grub, grub-update 最后,更换物理磁盘,启动系统。 踩坑 分区格式支持 新磁盘采用了 XFS 分区,在数据转移前在系统上安装好 XFS 格式支持包,否则转移好会无法启动系统。 gpt 启动盘分区要求 gpt 如果需要制作成引导盘,必须要一个 8mb 左右未格式化的分区,标记 bios-grub ,作为 efi 分区。 boot 分区不是必须的

磁盘分区注意事项

蓝咒 提交于 2021-02-13 15:27:39
磁盘分区的重点: 1.磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节后面接下来的64bytes的分区表进行设置,即主要划分起始以及结束磁头号,以及扇区号和挂面号 2.分区工具有fdisk(适合小于2T的磁盘分区),parted(适合大于2T的磁盘分区,可以对小于2T的磁盘分区),fdisk首选,大于2T才选parted 3.一块磁盘的分区表仅有64byte大小,每个分区表要占用16个字节,因此一块磁盘支持4个分区表信息,即主分区+扩展分区不超过4个 4.磁盘分区是按照柱面(cylinder)来划分的 5.扩展分区不能直接使用,需要在扩展分区上面创建逻辑分区 6.扩展分区要有自己的分区表,所以扩展分区下面的逻辑分区可以有多个 1-4分区号,主分区使用,5-逻辑分区 磁盘分区格式化为ext4文件系统后会生成一定数量的inode和block inode存放文件的属性信息以及作为文件的索引(指向文件的实体BLOCK) block存放文件的实际内容 inode相同的文件,互为硬链接文件 一个文件被创建后至少要占用一个inode和一个block 如果一个文件很大,可能占多个block(4K) 如果文件很小,也至少要占用一个block,并且剩余空间不可以使用了 inode大小和总量查看:dumpe2fs /dev/sda3|egrep -i "block size|inode

VMware安装CentOS7.5

China☆狼群 提交于 2021-02-12 04:47:34
虚拟机配置: 选择安装方式: 第一行:安装CentOS 7; 第二行:测试这个媒体并安装CentOS 7; 第三行:故障排除; Tips: CentOS 7与CentOS 6网卡名称命名方式有所改变,如果需要CentOS 7与CentOS 6的网卡名称一样,操作步骤如下: 1) 选择第一个安装方式,并按下tab键,如下图片所示; 2) 输入net.ifnames=0 biosdevname=0,如下图所示: 选择语言: 这里直接选择中文,安装配置方便; 配置系统安装信息: Tips: 本地化可以忽略; 语言选择英文的注意更改时区为上海,不然会出现其他时区时间; 修改顺序如下: 配置系统分区: Tips: 推荐使用自定义分区设置,具体可根据实际情况更改; /boot分区1G; swap分区1G; / 分区:剩余全部空间; 分区配置好如下图: Tips: CentOS 7.x文件系统采用的是xfs,检查是否为xfs; CentOS 6.x文件系统采用的是ext4; swap不用更改文件系统; 接受分区更改; 关闭KDUMP: Tips:在虚拟机中这个功能有些鸡肋,还会拖慢虚拟机,而且虚拟机有快照功能,玩坏了恢复快照即可; 配置网卡信息: 修改虚拟机的虚拟网卡信息,这样虚拟机就可以上外网了; 选择VMnet8,关闭DHCP服务; 修改主机名和配置第一块网卡,如下图: 配置好后

Centos 7下在LVM中对xfs文件系统进行扩容

一个人想着一个人 提交于 2021-02-12 01:47:19
Centos 7下在LVM中对xfs文件系统进行扩容 LVM 磁盘管理 1. LVM基本术语 物理卷 (physical volume) : 物理的磁盘分区 $ pvdisplay #显示物理卷 $ pvcreate /dev/sdb1 #创建物理卷 卷组 (volume group) : LVM中的磁盘分区, 可以理解为一个磁盘仓库 $ vgdisplay #显示卷组 $ vgextend cl /dev/sdb1 #扩展卷组 逻辑卷 (logical volume) : 从VG中划分的逻辑分区 $ lvdisplay #显示逻辑卷 $ lvextend -L +100G /dev/cl/root #扩展容量 2. 新添加硬盘扩容LVM分区 2.1 为硬盘添加分区 $ fdisk /dev/sdb n #创建分区 p #选择主分区 1 #分区号, /dev/sdb1 t 8e #分区类型 linux LVM w #写入分区表 $ partprobe #重读分区表 $ mks.xfs /dev/sdb1 #格式化 $ partx /dev/sdb #查看分区情况 2.2 创建PV, 扩容VG, LV $ pvcreate /dev/sdb1 #创建PV $ vgdisplay $ vgextend cl /dev/sdb1 #扩展VG $ lvdisplay $ lvextend

Linux_修复GRUB引导故障的3种方法!

半城伤御伤魂 提交于 2021-02-08 09:49:34
修复GRUB引导故障 一.修复GRUB引导故障 1. 故障原因 2. 故障现象 3. 解决思路 4.修复GRUB引导故障 二.修复GRUB引导故障方法1 ——方法一:手动输入引导命令(笨拙繁琐,不建议使用) 三.修复GRUB引导故障方法2 ——方法二:进入急救模式,恢复GRUB引导程序 ——主引导程序记录被破坏 1.创建磁盘,格式化,挂载,备份文件 2.模拟对MBR中的GRUB引导程序的破坏,不破坏分区表 3.引导界面进入急救模式,从备份文件中恢复GRUB引导程序 四.方法二具体实验步骤: 1.创建磁盘,格式化,挂载,备份文件 2.模拟对MBR中的GRUB引导程序的破坏,不破坏分区表 3.引导界面进入急救模式,从备份文件中恢复GRUB引导程序 五.引导界面进入急救模式,方法3 重建GRUB菜单配置文件 ————配置文件丢失、删除 重新构建GRUB菜单的配置文件 退出chroot环境,并重启 六.引导界面进入急救模式,方法3实验步骤 重建GRUB菜单配置文件实验 重新构建GRUB菜单的配置文件 退出chroot环境,并重启 一.修复GRUB引导故障 1. 故障原因 MBR中的GRUB弓|导程序遭到破坏 grub.conf文件丢失、引导配置有误 2. 故障现象 系统引导停滞,显示“grub>" 提示符 3. 解决思路 尝试手动输入引导命令 进入急救模式,重写或者从备份中恢复grub

Kafka 最佳实践

别来无恙 提交于 2021-02-08 04:07:49
这是一篇关于 Kafka 实践的文章,内容来自 DataWorks Summit/Hadoop Summit(Hadoop Summit)上的一篇分享,里面讲述了很多关于 Kafka 配置、监控、优化的内容,绝对是在实践中总结出的精华,有很大的借鉴参考意义,本文主要是根据 PPT 的内容进行翻译及适当补充。 Kafka 的架构这里就不多做介绍了,直接步入正题。 Kafka 基本配置及性能优化 这里主要是 Kafka 集群基本配置的相关内容。 硬件要求 Kafka 集群基本硬件的保证 OS 调优 OS page cache:应当可以缓存所有活跃的 Segment(Kafka 中最基本的数据存储单位); fd 限制:100k+; 禁用 swapping:简单来说,swap 作用是当内存的使用达到一个临界值时就会将内存中的数据移动到 swap 交换空间,但是此时,内存可能还有很多空余资源,swap 走的是磁盘 IO,对于内存读写很在意的系统,最好禁止使用 swap 分区; TCP 调优 JVM 配置 JDK 8 并且使用 G1 垃圾收集器 至少要分配 6-8 GB 的堆内存 Kafka 磁盘存储 使用多块磁盘,并配置为 Kafka 专用的磁盘; JBOD vs RAID10; JBOD(Just a Bunch of Disks,简单来说它表示一个没有控制软件提供协调控制的磁盘集合

「Linux」- 磁盘及文件系统管理 @20210207

让人想犯罪 __ 提交于 2021-02-07 15:38:38
磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!! # TODO rm on a directory with millions of files rm on a directory with millions of files -> https://serverfault.com/questions/183821/rm-on-a-directory-with-millions-of-files/328305#328305 How can I delete a folder with lots of subfolders fast? # TODO initramfs 「 LFS/About

学习Linux的第9天

百般思念 提交于 2021-01-24 14:45:06
一、du命令:du -sh * 查看当前目录下的文件大小 二、添加交换分区 mkswap /dev/sdb1 free -m swapon /dev/sdb1 free -m vim /etc/fstab /dev/sdb1 swap swap defaults 0 0 三、磁盘容量配额 redhat 5/6 usrquota redhat 7/8 uquota mount | grep /boot xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 abc' /boot edquota -u abc 四、软硬方式链接 软链接(symbolic link):相当于windows里的快捷方式,删除掉原始文件,链接文件失效。 硬链接(hard link):原始文件被删除,新文件可正常使用 ln命令:用于创建链接文件,格式“In [选项] 目标”。 参数:-s (软链接),不带-s(硬链接) ln -s ini.cfg 1.cfg ln ini.cfg 1.cfg 五、RAID(Redundant Array of Independent Disks)独立冗余磁盘阵列 RAID 0 RAID 1 RAID 5 RAID 10 mdadm命令:用于管理Linux系统中的软件RAID磁盘阵列,格式为“mdadm [模式]

详解 centos7设置nfs文件共享 实操记录

梦想的初衷 提交于 2021-01-24 12:36:13
1.线上业务系统选择文件系统标准 linux下常见的有DOS 文件系统类型msdos,windows下FAT和NTDFS文件系统,光盘文件系统ISO-9660, 单一文件系统ext2和日志文件系统ext3、ext4、xfs,集群文件系统gfs(Red Hat Global File System)、ocfs2(oracle cluster File System)、 虚拟文件系统(比如/proc),网络文件系统(NFS)。 2.网络文件系统(NFS)介绍: NFS的全程是network FileSystem,即网络文件系统,NFS主要实现的功能是让网络上的不同操作系统之间共享数据。 NFS首先在远程服务端(共享数据的操作系统)共享出文件或者目录,然后远端共享出来的文件或者目录就可以通过关在的方式接到本地的不同操作系统上。 3.NFS Serve端的配置 NFS的主要配置文件只有一个 /etc/exports,配置简单,设置格式为: 共享资源路径 [主机地址(即可以让哪些主机访问)] [选项] 例: 下面是某个系统 /etc/exports的设置: /webdata ( 代表主机地址,即任意主机地址)(sync(sync表示资料同步写入磁盘中,即客户端写入,则服务端也同步写入),rw(即客户端主机对共享资源有读、写权限),all_squash) /tmp (rw,no_root