linux的xfs命令 linux xfs repair

xfs相关命令xfs_admin: 调整 xfs 文件系统的各种参数
xfs_copy: 拷贝 xfs 文件系统的内容到一个或多个目标系统(并行方式)
xfs_db: 调试或检测 xfs 文件系统(查看文件系统碎片等)
xfs_check: 检测 xfs 文件系统的完整性
xfs_bmap: 查看一个文件的块映射
xfs_repair: 尝试修复受损的 xfs 文件系统
xfs_fsr: 碎片整理
xfs_quota: 管理 xfs 文件系统的磁盘配额
xfs_metadump: 将 xfs 文件系统的元数据 (metadata) 拷贝到一个文件中
xfs_mdrestore: 从一个文件中将元数据 (metadata) 恢复到 xfs 文件系统
xfs_growfs: 调整一个 xfs 文件系统大?。ㄖ荒芾┱梗?
xfs_freeze暂停(-f)和恢复(-u)xfs 文件系统
xfs_logprint: 打印xfs文件系统的日志
xfs_mkfile: 创建xfs文件系统
xfs_info: 查询文件系统详细信息
xfs_ncheck: generate pathnames from i-numbers for XFS
xfs_rtcp: XFS实时拷贝命令
xfs_io: 调试xfs I/O路径
Redhat XFS文件系统XFS是一种高度可扩展和高性能文件系统 , 它支持创建16 exabytes超大文件系统,8 exabytes的文件和10亿个目录结构 。
1) 主要功能:XFS支持 元数据日志功能(metadata journaling),有助于更快地崩溃恢复 。XFS文件系统在挂载并处于活动状态时也可以进行 碎片整理和扩展。另外 , 红帽企业版Linux 6支持 XFS的备份和恢复 功能 。
2) xfs具有以下功能:基于范围的分配(Extent-based allocation)、条带感知分配策略(Stripe-aware allocation policies)、延迟分配(Delayed allocation)和空间预分配(Space pre-allocation) 。延迟分配和其他性能优化对XFS的影响与对ext4的影响相同 。除非随后调用fsync(),否则不能保证程序对XFS文件系统的写入 。
使用mkfs.xfs /dev/device命令来创建XFS文件系统 。在一个包含已有文件系统的块设备上,执行mkfs.xfs -f会强制重写文件系统 。
一旦xfs文件系统被创建 , 文件的大小不会减小 。还可以用xfs_growfs命令来增大空间 。
对于条带块设备(例如RAID5阵列),在创建文件系统时可以指定条带几何形状 。使用适当的条带几何形状可以大大提高XFS文件系统的性能 。
在LVM或MD卷上创建文件系统时,mkfs.xfs选择最佳geometry几何形状 。在某些geometry信息导出到操作系统的硬件RAID上,也可能是这样 。
指定条纹geometry几何体,子参数如下:
su =值:指定条带单位或RAID块大小 。该值必须以字节为单位指定,后缀为k,m或g 。
sw =值:指定RAID设备中的数据磁盘数或条带中的条带单元数 。
以下示例在包含4个条带单元的RAID设备上指定64k的块大?。?
#mkfs.xfs -d su=64k,sw=4/dev/device
有关创建XFS文件系统的更多信息,请参考man mkfs.xfs 。
一个XFS系统可以不带额外的参数进行挂载:# mount /dev/device /mount/point
XFS默认分配inode以反映其在磁盘上的位置 。但是 , 由于某些32位用户空间应用程序与大于65536*65536(2的32次方)的inode号不兼容,因此XFS会将所有inode分配到磁盘位置中,从而导致32位inode号 。这会导致大于2TB的文件系统性能下降,因为inode偏向块设备的开头 , 而数据偏向末尾 。
为了解决此问题,可以带上inode64挂载参数 。这个参数表示XFS在整个文件系统中分配inodes和数据,这将改善性能 # mount -o inode64 /dev/device /mount/point
默认情况下 , 即使启用了写缓存的设备断电,XFS也会使用写屏障来确保文件系统的完整性(By default, XFS uses write barriersto ensure file system integrity even when power is lost to a device with write caches enabled) 。对于没有写缓存或具有电池供电的写缓存的设备,请使用nobarrier选项禁用屏障:# mount -o nobarrier /dev/device /mount/point 。掉电丢失文件的解决方案又多一个:写保障 。
写保障write barrier是一种内核机制,用于保证持久化卷上文件系统的metadata是正确的和有序的 , 即使易失性的存储设备断电 。文件系统开启写保障fsync(),保证数据通过 。
启用写屏障write barriers会导致某些应用程序的性能大幅下降 。具体来说 , 大量使用fsync()或创建和删除许多小文件的应用程序运行速度可能会慢得多 。
XFS配额子系统管理着磁盘空间(块)和文件(inode)使用的限制 。XFS配额从用户,组 , 目录或项目级别上进行控制或报告其使用情况 。请注意,虽然启用了用户,组和目录或项目级别的配额,但组配额和项目配额是互斥的 。
在按目录或按项目进行管理时,XFS管理着与某个项目关联的目录层次结构的磁盘使用情况 。这样 , XFS可以识别项目之间的跨组织“组”边界 。这提供了比管理用户或组配额时更有效的控制级别 。
XFS配额在挂载mount时启用,并带有的挂载参数 。挂载参数可以指定为noenforce,xfs使用情况将不受任何限制 。挂载时有效的配额:uquota/uqnoenforce-用户配额、gquota/gqnoenforce-组配额、pquota/pqnoenforce-项目配额
启用配额后,xfs_quota工具可以设置配额大小并报告磁盘使用情况 。默认情况下,xfs_quota在基本模式下交互式运行的 。基本模式子命令仅报告使用情况,并且对所有用户可用 。基本模式的xfs_quota子命令包括:quota username/userID:显示给定用户名或数字用户标识的用法和限制 。df:显示块和索引节点的可用和已用计数 。
相反,xfs_quota也具有专家模式 。此模式的子命令允许配置限制,并且仅对具有较高特权的用户可用 。要交互使用专家模式子命令,请运行xfs_quota -x 。专家模式子命令包括:report /path:报告特定文件系统的配额信息 。limit:修改配额限制 。
挂载的XFS文件系统使用xfs_growfs命令进行扩大# xfs_growfs /mount/point -D size
D size 选项将文件系统增加带指定大小,不带-D size选项则xfs_growfs将文件系统扩大到设备支持的最大值 。
在使用-D参数扩大文件系统前要保证底层块设备后期有一个合理的大小 。
注意:挂载点一旦扩大空间后无法缩回 。
使用xfs_repair修复XFS文件系统 , 命令格式为# xfs_repair /dev/device
xfs_repair具有高度可伸缩性,旨在有效地修复拥有大量inode节点的大型文件系统 。与其他Linux文件系统不同 , 即使当XFS文件系统未完全卸载umount时,xfs_repair也不在引导时运行(does not run at boot time) 。即使卸载不干净,则xfs_repair只是在挂载时replays log来进行修复,以确保文件系统一致 。
xfs_repair不能修复带有脏日志(dirty log)的xfs文件系统 。挂载mount和卸载unmount xfs文件系统会清理日志 。如果日志已损坏并且无法重播,请使用-L选项强制清除日志,即xfs_repair -L /dev/device 。请注意这可能影响到进一步的损坏或数据丢失 。
xfs_freeze对文件系统的写入活动进行暂停或恢复 。暂停写入活动允许基于硬件设备快照用于捕获文件系统一致性状态 。
xfs_freeze由只运行在x86_64的xfsprogs包提供 。
暂停suspend (冻结freeze) xfs文件系统使用命令# xfs_freeze -f /mount/point
解冻xfs文件系统使用命令# xfs_freeze -u /mount/point
当做一个LVM快照时,没有必要先使用xfs_freeze来暂停文件系统 。LVM管理工具会在取快照前自动暂停XFS文件系统 。
xfs_freeze可以用于冻结或解冻一个ext3、ext4、GFS2、XFS和BTRFS文件系统,它们的语法都是一样的 。
xfsdump和xfsrestore分别支持XFS文件系统备份和恢复 。
为了支持增量备份(incremental backups ),xfsdump使用转储级别来确定特定转储相对的基本转储(xfsdump uses dump levels to determine a base dump to which a specific dump is relative) 。
-l参数指定转储级别0-9 。在文件系统上执行0级转储进行完整备份,命令为 # xfsdump -l 0 -f /dev/device /path/filesystem
-f参数指定备份的目标 。
相反 , 一个增量备份仅将上次0级转储后更改的文件进行备份 。1级转储是完整转储后的第一个增量转储;下一个增量转储将是2级,依此类推,直到9级的最大值 。执行1级转储到/dev/st0:# xfsdump -l 1 -f/dev/st0/path/filesystem
xfsrestore从xfsdump产生的转储中还原文件系统 。xfsrestore具有两种模式:默认简单模式和累积模式 。特定的转储由会话ID或会话标签标识 , 因此还原转储需要其相应的会话ID或标签 。要显示所有转储(完整和增量)的会话ID和标签:#xfsrestore -I
xfsrestore简单模式(Simple Mode)
简单模式允许用户从0级转储还原整个文件系统 。确定了0级转储的会话ID后执行恢复:# xfsrestore -f /dev/st0 -Ssession-ID/path/to/destination
-f参数指定转储的位置 , 而-S或-L参数指定待还原的特定转储,-S参数用于指定会话ID,而-L参数用于指定会话标签 。-I选项显示每次转储的会话标签和ID 。
xfsrestore累积模式(Cumulative Mode)
xfsrestore累积模式允许从特定的增量备份(从1级到9级)还原文件系统,添加-r参数# xfsrestore -f/dev/st0-S session-ID-r/path/to/destination
互动操作Interactive
xfsrestore允许从转储中提取 , 添加或删除特定文件 。使用-i参数,xfsrestore-f/dev/st0 -i
交互式对话将在xfsrestore完成读取指定设备之后开始 。在对话框中的可用命令包括cd, ls, add, delete, and extract;使用help查看有关命令的完整列表 。
RedHat Enterprise Linux6提供其他xfs功能
xfs_fsr :对已安装的XFS文件系统进行碎片整理 。不带参数调用时 , xfs_fsr对所有挂载的XFS文件系统的所有常规文件进行碎片整理 。该程序允许用户挂起suspend指定时间的碎片整理 , 并从以后停止的地方resume恢复操作 。此外,xfs_fsr仅允许对一个文件进行碎片整理,命令是xfs_fsr /path/to/file 。红帽建议定期对整个文件系统进行碎片整理(Red Hat advises against periodicallydefragmenting an entire file system, as this is normally not warranted) 。
xfs_bmap :打印XFS文件系统中文件使用的磁盘块映射 。该地图列出了指定文件使用的每个范围以及文件中没有相应块的区域 。
xfs_info :打印XFS文件系统信息 。
xfs_admin :修改xfs文件系统中未挂载设备的参数 。
xfs_copy :将整个XFS文件系统的内容并行复制到一个或多个设备中 。
下面程序是调试和分析XFS文件系统:
xfs_metadump :只能拷贝未挂载,只读和冻结或挂起的(unmounted, read-only,frozen/suspended)XFS文件系统的metadata到1个文件 。否则挂载状态下拷贝会造成生成的转储可能已损坏或不一致 。
xfs_mdrestore :将xfs_metadump生成的映像还原到文件系统映像 。
Restores an XFS metadump image ( generated using xfs_metadump) to a filesystem image.
xfs_db :Debugs an XFS file system 。
LINUX常用命令3、su、df、du、磁盘分区一、 su 、sudo 、限制root远程登陆
su- username
带用户环境切换用户
su- -c"touch /tmp/123.txt"user1
以user1用户创建/tmp/123.txt 文件
没有家目录的用户可以用模板新建家目录
mkdir-p /home/user4chownuser4:user4/home/user4cp /etc/skel/.bash*/home/user4chown-R user4:user4 /home/user4/
普通用户临时授权root用户权限去执行一条命令
visudo
可以查看sudo配置文件
在命令前加入NOPASSWD: 执行sudo时就不需要再输入用户的密码
例子:
User_Alias USER=chen1,chen2
Cmnd_Alias SU=/usr/bin/su
USER ALL=(ALL) NOPASSWD:SU
禁止root用户远程登陆
vi/etc/ssh/sshd_configPermitRootLoginno//修改此处systemctl restart sshd.service
二、df命令、du命令、磁盘分区
df-h
自动适应文件大小的单位,查看磁盘使用情况
free
可以查看swap的使用情况
df-i
查看各个分区inode的使用情况
有的时候明明磁盘的内存还有剩余,但是却无法写入新文件,这时候就可能是inode用完了 。
du-sh
自动适应单位显示文件或文件夹大小
du不加后缀的时候和du -l 一样,显示文件夹下文件的大小
du-lh
自动适应单位显示文件夹下文件的大小
fdisk-l
列出linux 的磁盘信息
fdisk/dev/sdb
m帮助,直接按p是查看分区情况 n新建分区 p建立主分区 e扩展分区 d删除分区,起始扇区默认2048就可以啦,last 扇区2G 就是将分区一的大小设置为2G;输错命令用ctrlu清除
BLOCKS是分区的大小 , system是分区的类型,主分区和逻辑分区都是linux,扩展分区是extended
主分区的分区号可以为空,而逻辑分区的分区号必须连续;逻辑分区以sdb5开始,分区之后输入w可以保存分区,q则不保存操作直接退出
三、磁盘格式化、磁盘挂载、手动增加swap空间
1.磁盘格式化
cat/etc/filesystems//查看系统支持的文件格式,centos7默认xfs,centos6默认ext4
mount//查看系统的文件格式
mke2fs
-t指定文件格式 ext4 、ext3
-b指定块大?。募急冉洗笫?,块可以大一点,比如视频、高清图片
比较小时可以将块设置小一点,加快读取速度
-m指定给root用户预留的空间大小,1就是1% , 0.1就是0.1%
-i指定多少字节占一个inode号
如果不指定-t文件格式,则默认为ext2格式
mkfs.ext4/dev/sdb1//将分区格式化为ext4格式mkfs.xfs-f/dev/sdb1//将分区格式化为xfs格式\
分区只有挂载了才可以使用mount查询到,没有挂载的分区可以用
blkid/dev/sdb1
mkfs.ext4 == mke2fs -t ext4
mkfs.ext4与mke2fs支持的选项相同
xfs格式只能用mkfs.xfs 创建
2.磁盘挂载
mount/dev/sdb/mnt///将 /dev/sdb挂载到mnt下 mount UUID="2d8e7749-f2f7-4de5-b1b9-b6bf758d2f37"/mnt///这里的uuid是用blkid /dev/sdb 查到的
卸载磁盘
umount/dev/sdb
如果当前目录在/dev/sdb下则需要退出当前分区
也可以直接用
umount-l/dev/sdbumount-l/mnt/
mount
man mount 可以查看mount的具体用法
/defaults 可以查找默认用法
找到下面这一行
Use default options: rw, suid, dev, exec, auto, nouser, and async.
rw读写权限
suid可以设置suid权限
dev,系统默认不用管
exec可执行
auto自动挂载
nouser是否允许普通用户挂载,默认不允许
async 不实时同步内存的东西到磁盘(减轻磁盘压力)
mount -o remount,rw/dev/sdb//重新挂载
vi/etc/fstab//系统开机都挂载哪些文件
四、手动增加虚拟内存
ddif=/dev/zeroof=/tmp/newdiskbs=1M count=100//创建虚拟磁盘
if指定源 , 一般写/dev/zero,它是unix系统特有的一个文件,可以源源不断的提供'0',of指定目标文件,bs指定块大?。琧ount指定块的数量
mkswap -f /tmp/newdisk//格式化为swapswapon/tmp/newdisk//将新建的swap加载free-m//显示内存使用大小,-m指定单位为mswapoff/tmp/newdisk//将虚拟内存卸载
五、lvm
lvm创建过程
创建物理卷创建卷组创建逻辑分区格式化为需要的格式挂载分区
具体介绍日志
fdisk /dev/sdb
t 选择分区,8e //将分区转换为lvm格式 ,w退出
创建物理卷
1.
yumprovides"/*/pvcreate"
通配查询pvcreate命令的软件包名
yum install -y lvm2//安装lvm
partprobe //生成分区文件
2.
pvcreate/dev/sdb1pvcreate/dev/sdb2pvcreate/dev/sdb3
pvdisplay查看已经创建的物理卷
创建卷组
1.pvs
可以直观的查看物理卷有哪些
2.创建卷组,将sdb1和sdb2设置为一个卷组
vgcreatevg1 /dev/sdb1 /dev/sdb2
vgdisplay可以查看卷组信息
创建逻辑分区
lvcreate-L100M-n lv1 vg1
从vg1卷组中创建名字为lv1大小100M的逻辑分区
-L指定分区大小
-n指定分区名字
将分区格式化为ext4格式
mkfs.ext4 /dev/vg1/lv1
然后将文件挂载
mount/dev/vg1/lv1 /mnt
ext4扩容逻辑分区
umount/mnt///卸载分区lvresize -L200M/dev/vg1/lv1//扩展分区e2fsck -f/dev/vg1/lv1//检查磁盘是否有错误resize2fs/dev/vg1/lv1//更新逻辑分区大小,不然重新挂载会无法识别扩容的大小
ext4缩容
umount/mnt///卸载分区e2fsck -f/dev/vg1/lv1//检查磁盘是否有错误resize2fs/dev/vg1/lv1 100M//将分区缩小为100Mlvresize -L100M/dev/vg1/lv1//重新设置卷大小
xfs扩容
1.扩容与缩容不会更改分区中的文件,xfs只可以扩容不可以缩容;
2.如果磁盘已经挂载要先umount 卸载
然后格式化为xfs.
mkfs.xfs-f/dev/vg1/lv1
XFS的扩容不需要先卸载,直接扩容即可
lvresize -L200M /dev/vg1/lv1xfs_growfs/dev/vg1/lv1//更新分区大小
关于扩容缩容的总结
ext4可以扩容和缩容而且需要卸载后操作,xfs只可以扩容,不需要卸载
ext4扩容
lvresize -L 100M /dev/vg1/lv1e2fsck-f/dev/vg1/lv1resize2fs /dev/vg1/lv1
缩容
e2fsck-f/dev/vg1/lv1resize2fs /dev/vg1/lv1 100Mlvresize -L 100M /dev/vg1/lv1
xfs扩容
lvresize-L100M/dev/vg1/lv1xfs_growfs /dev/vg1/lv1
在分区空间用完之后就需要扩容卷组,然后再扩容
卷组扩容
vgextendvg1 /dev/sdb3
将 /dev/sdb3加入到vg1卷组
Linux里面mkfs命令作用是什么?Linux里面mkfs命令作用是什么?
解答:
1.这是Linux系统下格式化磁盘的工具 。
2.格式化的本质就是创建文件系统(组织和存取文件的机制) 。
3.可以创建的文件系统有ext4(CentOS6),xfs(CentOS7) 。
4.格式化命令:
Linux系统如何创建和挂载XFS文件系统问题 : 我听说一个牛X的文件系统XFS,打算在我的磁盘上试试XFS 。那格式化和挂载XFS文件系统的Linux命令是什么呢?
XFS是高性能文件系统,SGI为他们的IRIX平台而设计 。自从2001年移植到Linux内核上,由于它的高性能,XFS成为了许多企业级系统的首选,特别是有大量数据,需要结构化伸缩性和稳定性的 。例如,RHEL/CentOS 7 和Oracle Linux将XFS作为默认文件系统,SUSE/openSUSE已经为XFS做了长期支持 。
XFS有许多独特的性能提升功能使他从众多文件系统中脱颖而出 , 像可伸缩/并行 IO,元数据日志,热碎片整理,IO 暂停/恢复,延迟分配等 。
如果你想要创建和挂载XFS文件系统到你的Linux平台,下面是相关的操作命令 。
安装 XFS系统工具集
首先,你需要安装XFS系统工具集,这样允许你执行许多XFS相关的管理任务 。(例如:格式化,扩展,修复 , 设置配额,改变参数等)
Debian, Ubuntu , Linux Mint系统:
$ sudo apt-get install xfsprogs
Fedora, CentOS, RHEL系统:
$ sudo yum install xfsprogs
其他版本Linux:
$ sudo pacman -S xfsprogs
创建 XFS格式分区
先准备一个分区来创建XFS 。假设你的分区在/dev/sdb,如下:
$ sudo fdisk /dev/sdb
假设此创建的分区叫/dev/sdb1 。
接下来,格式化分区为XFS,使用mkfs.xfs命令 。如果已有其他文件系统创建在此分区,必须加上"-f"参数来覆盖它 。
$ sudo mkfs.xfs -f /dev/sdb1
至此你已经准备好格式化后分区来挂载 。假设/storage是XFS本地挂载点 。使用下述命令挂载:
$ sudo mount -t xfs /dev/sdb1 /storage
验证XFS挂载是否成功:
$ df -Th /storage
如果你想要启动时自动挂载XFS分区在/storage上 , 加入下列行到/etc/fstab:
/dev/sdb1/storage xfsdefaults00
【linux的xfs命令 linux xfs repair】关于linux的xfs命令和linux xfs repair的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读