Commit 76910a9f authored by Simon Cornet's avatar Simon Cornet
Browse files

feat: add more disk managmeent commands

parent f8a2ba06
Loading
Loading
Loading
Loading
Loading
+92 −8
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
## Show filesystems

```shell
sudo df -h
df -h
```

Example output:
@@ -18,18 +18,102 @@ tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs            97M     0   97M   0% /run/user/1003
```

## List folders
## List block devices

```shell
du -h -d 1 | sort -h
lsblk
```

Example output:

```shell
8.0K    ./.ansible
8.0K    ./.config
8.0K    ./.vim
12K     ./.ssh
172K    .
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
└─sda2   8:2    0   19G  0 part 
  ├─vg0-root 253:0 0 15G  0 lvm  /
  └─vg0-swap 253:1 0  4G  0 lvm  [SWAP]
```

## Partition management (fdisk)

```shell

# Interactive partition tool
fdisk /dev/sda

# List partitions
fdisk -l /dev/sda
```

## LVM management

```shell
# Physical volumes
pvdisplay
pvcreate /dev/sda2
pvremove /dev/sda2

# Volume groups
vgdisplay
vgcreate vg0 /dev/sda2
vgextend vg0 /dev/sdb1
vgreduce vg0 /dev/sdb1

# Logical volumes
lvdisplay
lvcreate -L 10G -n lv_data vg0
lvextend -L +5G /dev/vg0/lv_data
lvreduce -L -2G /dev/vg0/lv_data
lvremove /dev/vg0/lv_data

# Resize filesystem after extending LV
resize2fs /dev/vg0/lv_data  # ext4
xfs_growfs /mount/point     # xfs
```

## Create filesystems

```shell
# ext4
mkfs.ext4 /dev/sda1

# xfs
mkfs.xfs /dev/sda1

# btrfs
mkfs.btrfs /dev/sda1

# With label
mkfs.ext4 -L mydata /dev/sda1
```

## Disk usage

```shell
# Show inode usage
df -i

# List folders
du -h -d 1 | sort -h

# Find large files
find / -type f -size +100M -exec ls -lh {} \;
```

## Mount operations

```shell
# Mount filesystem
mount /dev/sda1 /mnt

# Unmount
umount /mnt

# Show all mounts
mount | column -t

# Persistent mounts (add to /etc/fstab)
/dev/vg0/lv_data  /data  ext4  defaults  0  2
UUID=xxx          /data  ext4  defaults  0  2
```