Work with File Systems on Oracle Linux
Introduction
In the following tutorial, you list the mounted file systems. In addition, you partition disk devices and mount file systems. Then, you add entries in the file system table to mount file systems on reboots, and increase swap space. Lastly, you remove partitions and additional swap space.
Objectives
- Display the current partition table
- List mounted file systems
- Partition disk devices
- Create and mount file systems on partitions
- Modify the file system table to mount the file systems on reboots
- Increase the amount of swap space
- Remove partitions and additional swap space
What Do You Need?
- A system with Oracle Linux 8 or later installed
- Two or more block devices attached to the system.
Note: When using the free lab environment, see Oracle Linux Lab Basics for connection and other usage instructions.
Task 1: Prepare Block Volumes
In this task, you run iscsiadm
commands to prepare two block volumes for use in this tutorial.
Note: The
iscsiadm
utility is a command-line tool allowing discovery and login to iSCSI targets.
Use the
sudo
command to switch user to theroot
user.sudo -i
Open the Oracle Cloud Console.
If necessary, click Compute and then Instances.
Click the instance name link in the table to display its details page. The following image shows the instance name is ol-server.
Scroll down the details page and select Attached Block Volumes under Resources to display the attached block volumes. The following image lists the block volumes attached to the instance.
For each block volume, click the three dots menu (on the right side) and select iSCSI Commands & Information from the list. The following image shows the iSCSI Commands & Information window and the three
iscsiadm
commands to copy:Copy and paste the three commands for connecting the block volume into a terminal window.
Press Enter after the third (last)
iscsiadm
command.Repeat step 5 for the other block volumes in the list.
Use the
lsblk
command to verify the block volumes are available on the system.lsblk
Note: The command output shows three block devices:
sda
,sdb
, andsdc
.
Task 2: List the Current Disk Partitions
As the root user, run the
fdisk -l
command to display the current partition table. Pipe the output togrep
and list all/dev/sd
disk devices.fdisk -l | grep /dev/sd
Note: The lab system has three disk devices,
/dev/sda
,/dev/sdb
,/dev/sdc
.- The device
/dev/sda
is a 46.6 GB disk containing three partitions of various types and sizes:/dev/sda1
is a 100 MB Extensible Firmware Interface (EFI partition),/dev/sda2
is a 1 GB Linux file system, with/dev/sda3
being a 45.5 GB Linux Logical Volume Manager (LVM). - Partitions
/dev/sda1
and/dev/sda2
are the primary boot devices. - Partition
/dev/sda3
is mapped to the root file system. - Disk device,
/dev/sdb
, is a 50 GB disk without any partitions. - Disk device,
/dev/sdc
, is a 50 GB disk without any partitions.
- The device
Use the
df
command to list the mounted partitions. The order of the devices might be different, and some numbers might vary.df -h
- The first partition,
sda1
, on the hard drive contains the Unified Extensible Firmware Interface (UEFI) boot loader files and is mounted on/boot/efi
. - The second partition,
sda2
, is mounted on/boot
. - The file systems mounted on
/
and/var/oled
are logical volumes.
- The first partition,
Task 3: Create an MBR Partition
In this section, use the fdisk
utility to create a Master Boot Record (MBR) partition.
Watch the video below for an overview on disk partitioning.
Use the
fdisk
command to partition/dev/sdb
.fdisk /dev/sdb
The interactive program opens with a short statement on its use, information about the device selected, and a command prompt.
Enter
m
at the prompt to display thefdisk
menu.Note: The menu groups the available options by their function.
Enter
n
to add a new MBR primary partition.- The MBR stores partition information at the beginning of a disk and is limited to four primary partitions.
- One of the four partitions can be designated as an extended partition. This partition can then be subdivided into multiple logical partitions.
Enter
p
, followed by the number1
for the first primary partition.Press Enter to accept the default (2048) as the start of the first sector.
Enter
+500M
to set the last sector using the size notation.fdisk
returns a message telling you that the new partition is of the type 'Linux' with a size of 500 MiB.Enter
p
to print the new partition.Some of the information the print option displays is:
- The disk device name:
/dev/sdb1
. - The disk label type:
dos
, which indicates an MBR partition table. - The partition type:
Linux
.
- The disk device name:
Enter
w
to save the new partition.fdisk
notes that the partition has changed, is being re-read byioctl()
, and that the disk is synchronizing.Use the
fdisk -l
command to list the partition table on/dev/sdb
. Thefdisk -l
command uses the lowercase letterl
option, and not the numeral 1.fdisk -l /dev/sdb
Task 4: Create a GPT Partition
Use the
fdisk -l
command to list the current partitions on/dev/sdc
.fdisk -l /dev/sdc
Note: The disk does not have any partitions.
Use the
fdisk
command to create a GUID Partition Table (GPT) partition on/dev/sdc
.fdisk /dev/sdc
fdisk
outputs the summary as it did before about the disk.- GPT partitions are ideal for disks larger than 2 TB.
- In this lab, you use a 50 GB disk.
- If this disk was larger than 2 TB, a warning displays affirming the size of the disk and indicating that it cannot be used as a DOS partition table.
Enter
g
to add a new GPT partition.The output confirms the creation of a new GPT disk label.
Enter
n
, followed by the number1
for the first sector partition.Press Enter to accept the default (2048) as the start of the first sector.
Enter Enter to set the last sector using the default size of
104857566
.fdisk
returns a message telling you of the new partition of the type 'Linux' with a size of 50 GiB.Enter
p
to print the new partition.Some of the information the print option displays is:
- The disk device name:
/dev/sdc1
. - The disk label type:
gpt
, which indicates an GPT partition table. - The partition type:
Linux
.
- The disk device name:
Enter
w
to save the new partition.fdisk
notes that the partition changed, being re-read byioctl()
, and the disks are synchronizing.
Task 5: Create an ext4 File System on the MBR Partition
In this section, you create a file system on /dev/sdb1
.
Watch the video below for an overview on creating file systems.
Use the
mkfs
command to make anext4
file system on the disk and assign it the label ofTest
.mkfs -t ext4 -L Test /dev/sdb1
Use the
blkid
command to display the attributes of the/dev/sdb1
block device.blkid /dev/sdb1
Task 6: Create a xfs File System on the GPT Partition
In this section, you create an xfs
file system on /dev/sdc1
.
Use the
mkfs
command to make anxfs
file system on the disk and assign it the label ofDev
.mkfs -t xfs -L Dev /dev/sdc1
Use the
blkid
command to display the attributes of the/dev/sdc1
block device.blkid /dev/sdc1
Task 7: Mount the File Systems
In this section, you create mount points and mount the file systems to the mount points.
Watch the videos below for an overview on mounting file systems.
Use the
mkdir
command to create the mount points.mkdir /Test mkdir /Dev
Use the
mount
command to mount/dev/sdb1
to/Test
, and/dev/sdc1
to/Dev
.mount /dev/sdb1 /Test mount /dev/sdc1 /Dev
Use the
df
command to display the mounted file systems.df -h
Use the
mount
command and pipe the output togrep
to display the/Test
file system.mount | grep /Test
Note:
- Notice that the output shows the default mount options on
/Test
. - Refer to the
man mount
page for more information on these and other mount options.
- Notice that the output shows the default mount options on
Use the
mount
command and pipe the output togrep
to display the/Dev
file system.mount | grep /Dev
Note: Refer to the
man mount
page for more information on these and other mount options.Use the command
cat /proc/mounts
to view the status of all mounted file systems. Pipe the output totail
and display the last six lines.cat /proc/mounts | tail -6
The
mounts
file is part of the proc virtual file system. Themounts
file, like other files in the/proc
directory, does not exist. It is a representation of file system status in file form.
Task 8: Update the fstab File
In this section, you update the /etc/fstab
file to mount the new file systems on reboots.
Watch the video below for an overview on updating the file system table.
Use the
blkid
command to obtain theUUID
values for/dev/sdb1
and/dev/sdc1
to use in the next step.blkid /dev/sdb1 blikd /dev/sdc1
Note: Small computer system interface (SCSI) device names are not stable across reboots. Oracle recommends using the device universally unique identifier (UUID) instead of
/dev
path names.Use the command
vi /etc/fstab
and add the following entries to/etc/fstab
:UUID="<UUID_VALUE_OF_SDB1_FROM_PREVIOUS_STEP>" /Test ext4 defaults,_netdev 0 0 UUID="<UUID_VALUE_OF_SDC1_FROM_PREVIOUS_STEP>" /Dev xfs defaults,_netdev 0 0
When you add an iSCSI remote block volume, you must include the
_netdev
mount option or your instance will become unavailable after the next reboot.Updating the
/etc/fstab
automatically mounts your file systems after the system reboots.
Use the
umount
command to unmount the file systems.umount /Dev /Test
Use the
mount –a
command to mount all file systems in/etc/fstab
file.mount -a
Use the command
df -h
to verify your new file systems are mounted.df -h
Task 9: Increase Swap Space
In this section, you increase the amount of swap space by creating, initializing, and enabling a swap file.
Watch the video below for an overview on increasing swap space.
Use the
swapon
command to display the current amount of swap space.swapon -s
Use the command
grep -i swap /proc/meminfo
to display the amount of swap space.grep -i swap /proc/meminfo
Use the
free
command to display the amount of swap space.free -h
Use the
dd
command to create a swap file.dd if=/dev/zero of=/.swapfile2 bs=1024 count=1048576
Use the
mkswap
command to initialize the swap file.mkswap /.swapfile2
Use the
swapon
command to enable swapping on the swap file.swapon /.swapfile2
Note: Notice the suggestion to change permissions on the file.
Use the following commands to display the updated swap space.
swapon -s grep -i swap /proc/meminfo free -h
If you need the additional swap space after a reboot, add the new swap file to the /etc/fstab
file.
Task 10: Remove Partitions and Additional Swap Space
In this section, you remove your partitions, remove the entries in the file system table, and remove the additional swap space.
Use the
umount
command to unmount the file systems.umount /Dev /Test
Use the
fdisk
command to delete the partition on/dev/sdb
.fdisk /dev/sdb
Enter
d
to delete partition 1.Enter
p
to print the partition table and confirm there are no partitions.Enter
w
to save the partition table and exit thefdisk
utility.
Use the
fdisk
command to delete the partition on/dev/sdc
.fdisk /dev/sdc
Enter
d
to delete partition 1.Enter
p
to print the partition table and confirm there are no partitions.Enter
w
to save the partition table and exit thefdisk
utility.
Use the
parted
command to change the label on/dev/sdc
fromgpt
tomsdos
parted /dev/sdc
Enter
mklabel msdos
to create anmsdos
label.Enter
Yes
to continue.Enter
print
to the partition table to confirm the label change.Enter
quit
to exit theparted
utility.
Use the
vi
command to remove theDev
andTest
entries from the/etc/fstab
file by deleting the appropriate lines.Use the
rmdir
command to remove the/Dev
and/Test
mount point directories.rmdir /Dev /Test
Use the
swapoff
command to disable swapping to/.swapfile2
.swapoff /.swapfile2
Use the
rm
command to remove/.swapfile2
.rm /.swapfile2