How to install xfs and create xfs file system on Debian/Ubuntu Linux

原文:https://www.cyberciti.biz/faq/how-to-install-xfs-and-create-xfs-file-system-on-debianubuntu-linux/

 

recently switched to a Ubuntu/Debian Linux server from a CentOS/RHEL 7.x.

How do I install xfs (mkfs.xfs command) on a Debian/Ubuntu Linux server?

How do I create and manage file XFS file system on a Ubuntu or Debian Linux LTS server?

 

XFS was created at Silicon Graphics, Inc and currently supported by Red Hat. However, XFS is not the default file system for Debian or Ubuntu Linux based system. XFS feature includes scalable and high-performance design. This guide shows you how to install XFS and create an XFS file system on Debian or Ubuntu Linux based system using the command line.

Tutorial requirements
Operating system Debian/Ubuntu Linux
Root privileges required Yes
Difficulty Easy (rss)
Estimated completion time 10m
Contents

Install xfs on Debian Linux

Open the terminal app to update system and then install xfs packages:
$ sudo apt-get update
$ sudo apt-get upgrade

Use the apt command/apt-get command to install xfs:
$ sudo apt-get install xfsprogs
Sample outputs

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libreadline5
Suggested packages:
  xfsdump acl attr quota
The following NEW packages will be installed:
  libreadline5 xfsprogs
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,029 kB of archives.
After this operation, 3,781 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://cdn-aws.deb.debian.org/debian buster/main amd64 libreadline5 amd64 5.2+dfsg-3+b13 [120 kB]
Get:2 http://cdn-aws.deb.debian.org/debian buster/main amd64 xfsprogs amd64 4.20.0-1 [909 kB]
Fetched 1,029 kB in 0s (5,183 kB/s)
Selecting previously unselected package libreadline5:amd64.
(Reading database ... 42720 files and directories currently installed.)
Preparing to unpack .../libreadline5_5.2+dfsg-3+b13_amd64.deb ...
Unpacking libreadline5:amd64 (5.2+dfsg-3+b13) ...
Selecting previously unselected package xfsprogs.
Preparing to unpack .../xfsprogs_4.20.0-1_amd64.deb ...
Unpacking xfsprogs (4.20.0-1) ...
Setting up libreadline5:amd64 (5.2+dfsg-3+b13) ...
Setting up xfsprogs (4.20.0-1) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for initramfs-tools (0.133+deb10u1) ...
update-initramfs: Generating /boot/initrd.img-4.19.0-9-amd64

Load xfs kernel module/driver

Now xfs related utilities are installed. However, it would be best if you loaded xfs Linux kernel driver/module too. In other words, type the following one time command:
$ sudo modprobe -v xfs

Sample outputs:

insmod /lib/modules/4.19.0-9-amd64/kernel/lib/libcrc32c.ko 
insmod /lib/modules/4.19.0-9-amd64/kernel/fs/xfs/xfs.ko 

Verify that xfs loaded either using the grep command or lsmod command:
$ grep xfs /proc/filesystems
$ lsmod | grep xfs
$ modinfo xfs

Install xfs and create xfs file system on Debian or Ubuntu Linux verification
See Linux Add or Remove a Linux Kernel Modules / Drivers for more info.

How to list available disks on a Debian or Ubuntu Linux

You need to use the fdisk command and then press [enter] key:
sudo fdisk -l
My disks:

Disk /dev/xvda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x15e5590c

Device     Boot Start      End  Sectors Size Id Type
/dev/xvda1 *     2048 83886046 83883999  40G 83 Linux


Disk /dev/xvdf: 400 GiB, 429496729600 bytes, 838860800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

WARNING: Be careful with disks names. Verify twice before formatting or creating new partitions. A wrong SSD/HDD name would result in data loss, and your /dev/DISK names might be different.

How to create an xfs file system

The syntax is:
mkfs.xfs /dev/device
mkfs.xfs [options] /dev/device

This is optional but we can create partition using the fdisk command/cfdisk command/partx command/sfdisk command:
# fdisk /dev/sdb
OR
# cfdisk /dev/sdb
I created a partition named /dev/sdb1. To create an XFS file system, use the mkfs.xfs /dev/sdb1 command:
# mkfs.xfs /dev/sdb1
Sample outputs:

Fig.01: mkfs.xfs in actionFig.01: mkfs.xfs in action
In this example, I am going to format the whole /dev/xvdf device:
$ sudo mkfs.xfs /dev/xvdf
Outputs:

 

meta-data=/dev/xvdf              isize=512    agcount=4, agsize=26214400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=104857600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=51200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

How to mount an xfs file system on Debian / Ubuntu

Type the following mount command:
# mkdir /data
# mount /dev/sdb1 /data/
# df -T

Sample outputs:

Filesystem Type 1K-blocks Used Available Use% Mounted on udev devtmpfs 1885404 0 1885404 0% /dev tmpfs tmpfs 379308 6728 372580 2% /run /dev/sda1 ext4 10188088 1086400 8561120 12% / tmpfs tmpfs 1896536 0 1896536 0% /dev/shm tmpfs tmpfs 5120 0 5120 0% /run/lock tmpfs tmpfs 1896536 0 1896536 0% /sys/fs/cgroup /dev/sdb1 xfs 209611760 241952 209369808 1% /data

Update /etc/fstab file to automount newly created filesystem across the system reboots

To see /dev/sdb1 block device’s UUID (Universally Unique Identifier) run:
# blkid /dev/device
# blkid /dev/sdb1

Sample outputs:

/dev/sdb1: UUID="ea8b08a4-3e9f-4482-83e9-c5f03b9f05d6" TYPE="xfs" PARTUUID="43eccd3d-9d50-4c29-a815-9fcf2986b235"

Edit/updated /etc/fstab file using the following synta:
UUID={YOUR-UID} /data xfs defaults,errors=remount-ro 0 1
For example, the following will update /etc/fstab so that /dev/sda1 get mounted at boot time:

## type the following command as 
## root user 
echo 'UUID=ea8b08a4-3e9f-4482-83e9-c5f03b9f05d6 /data xfs defaults 1 1' >> /etc/fstab

We can append text to a file named /etc/fstab when using sudo command as follows:
$ echo 'UUID=d90e3189-12cd-4d16-8fe9-cf362b5f267d /backup xfs defaults 1 1' \
| sudo tee -a /etc/fstab

Mount new XFS filesystem and test it with the help of mount command and df command:
$ sudo mount -a
$ sudo df -T

Installing XFS & Creating XFS File System on Debian

How to check and repair an XFS file system

To repair an XFS file system, use xfs_repair command and the syntax is (do not run xfs_repair on a mounted filesystem):
# xfs_repair /dev/device
# umount /dev/sdb1
# xfs_repair /dev/sdb1

Sample outputs:

Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done

Conclusion

In this guide, we explained how to install xfs and create/format second hard disk with XFS on a Debian or Ubuntu Linux based servers or desktop system. For more info about above commands, read their respective man pages and see XFS wiki pages here:
$ man mkfs.xfs
$ man apt-get
$ man xfs_repair
$ man blkid
$ man fdisk

 

 

posted @ 2020-06-11 15:08  PanPan003  阅读(801)  评论(0编辑  收藏  举报