204.2 Adjusting Storage Device Access (weight: 2)

Tech Tutorial: 204.2 Adjusting Storage Device Access #

Introduction #

In this tutorial, we will delve into adjusting storage device access in a Linux environment, a crucial skill set for system administrators. This objective focuses on understanding and managing how storage devices are accessed and controlled, ensuring data integrity and optimal performance.

Exam Objective #

  • Adjusting storage device access

Key Knowledge Areas #

  • Understanding and managing device files
  • Configuring udev for persistent device naming
  • Understanding and configuring filesystem mount options

Utilities #

  • lsblk
  • blkid
  • udisksctl
  • mount
  • umount
  • fstab
  • udevadm
  • tune2fs

Step-by-Step Guide #

1. Understanding Device Files #

Linux uses device files to represent hardware devices. These files are usually located in the /dev directory.

Detailed Code Example #

To view block devices and their information:

lsblk

Output might look like:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk 
├─sda1   8:1    0    96G  0 part /
└─sda2   8:2    0     4G  0 part [SWAP]

2. Configuring udev for Persistent Device Naming #

udev is the device manager for the Linux kernel that manages device nodes in /dev.

Detailed Code Example #

To analyze current udev rules and device attributes:

udevadm info --query=all --name=/dev/sda

To create a custom udev rule for persistent naming:

echo 'SUBSYSTEM=="block", ATTRS{model}=="Samsung SSD 850", SYMLINK+="mydisk"' | sudo tee /etc/udev/rules.d/99-custom.rules
sudo udevadm trigger

This creates a symlink /dev/mydisk that points to the device /dev/sda, identified by its model.

3. Understanding and Configuring Filesystem Mount Options #

Filesystem mount options determine how filesystems are mounted and interacted with.

Detailed Code Example #

To view the UUID of a device for use in fstab:

blkid /dev/sda1

Output might look like:

/dev/sda1: UUID="123e4567-e89b-12d3-a456-426655440000" TYPE="ext4"

To edit /etc/fstab to include auto-mount at boot with specific options:

sudo nano /etc/fstab

Add the line:

UUID=123e4567-e89b-12d3-a456-426655440000 /mnt/data ext4 defaults,noatime 0 2

4. Managing Mounts and Unmounts #

Using mount and umount to manually mount and unmount filesystems.

Detailed Code Example #

To mount a filesystem manually:

sudo mount /dev/sda1 /mnt/data

To unmount:

sudo umount /mnt/data

5. udisksctl: Managing Disks #

udisksctl is a utility for interacting with storage devices.

Detailed Code Example #

To mount a device using udisksctl:

udisksctl mount --block-device /dev/sda1

Output might look like:

Mounted /dev/sda1 at /media/user/NewVolume.

6. Tuning Filesystems with tune2fs #

tune2fs is used to adjust various tunable filesystem parameters on Linux ext2, ext3, or ext4 filesystems.

Detailed Code Example #

To enable journaling on an ext4 filesystem:

sudo tune2fs -O has_journal /dev/sda1

Conclusion #

In this tutorial, we covered how to adjust storage device access, including managing device files, configuring persistent device naming with udev, understanding and setting mount options, and using tools like udisksctl and tune2fs for disk management. Mastery of these skills ensures efficient and secure management of storage devices in a Linux environment, essential for system administrators and IT professionals.