O System Storage Manager (SSM) é uma ferramenta poderosa e simplificada para gerenciamento de volumes de armazenamento em sistemas Linux. Ele abstrai a complexidade do LVM (Logical Volume Manager), Btrfs, e outros sistemas de gerenciamento de armazenamento, oferecendo uma interface unificada para a administração de discos, volumes e sistemas de arquivos.
Com o SSM, tarefas como criação de volumes, snapshots, expansão de discos e gerenciamento de dispositivos físicos podem ser realizadas de maneira mais eficiente, com comandos simplificados. O SSM facilita também o monitoramento de uso de espaço, a aplicação de criptografia e a automação de tarefas de gerenciamento por meio de scripts e integrações.
Abaixo, apresentamos uma lista organizada de exemplos de uso do SSM, divididos em Nível Básico, Intermediário, Avançado e Especializado, proporcionando um guia completo para administradores de sistemas que buscam gerenciar volumes de forma eficiente e segura.
sudo ssm list
sudo ssm create --fstype ext4 --size 5G /dev/sdb
sudo mount /dev/mapper/volume_name /mnt/data
sudo umount /mnt/data
sudo ssm list --details
sudo ssm format --fstype xfs /dev/sdb
sudo ssm list --usage
sudo ssm mount --fstype ext4 /dev/sdb1 /mnt/data
sudo ssm remove /dev/mapper/volume_name
sudo ssm rename /dev/mapper/volume_name /dev/mapper/new_volume_name
sudo ssm snapshot /dev/mapper/volume_name --name snapshot_name
sudo ssm resize --size +10G /dev/mapper/volume_name
sudo umount /mnt/data
<br>
sudo ssm resize --size 5G /dev/mapper/volume_name
<br>
sudo ssm add /dev/sdc /dev/mapper/volume_name
sudo ssm list --pv
sudo ssm list --vg vg_name
sudo ssm create --size 10G --fstype ext4 --mirror 2 /dev/sdb /dev/sdc
sudo ssm move /dev/mapper/volume_name /dev/sdd
sudo ssm check /dev/mapper/volume_name
sudo ssm snapshot /dev/mapper/volume_name --name snapshot1
<br>
sudo mount /dev/mapper/snapshot1 /mnt/snapshot
sudo watch ssm list --vg vg_name
sudo ssm convert --to simple /dev/mapper/volume_name
sudo ssm list --performance
```
#!/bin/bash
VOLUME_NAME="volume_data"
MOUNT_POINT="/mnt/data"
SIZE="20G"
# Criar volume
sudo ssm create --size $SIZE --fstype ext4 /dev/sdb /dev/sdc
# Criar diretório de montagem
sudo mkdir -p $MOUNT_POINT
# Montar o volume
sudo mount /dev/mapper/$VOLUME_NAME $MOUNT_POINT
echo "Volume $VOLUME_NAME criado e montado em $MOUNT_POINT"
```
- Cria um script que automatiza a criação de um volume, configuração de um ponto de montagem e montagem do volume, simplificando a administração de volumes.
sudo chmod 770 /mnt/data
<br>
sudo setquota -u user1 10000 12000 0 0 /mnt/data
<br>
```
#!/bin/bash
VOLUME_NAME="volume_data"
SNAPSHOT_NAME="snapshot_$(date +%F)"
# Criar snapshot
sudo ssm snapshot /dev/mapper/$VOLUME_NAME --name $SNAPSHOT_NAME
echo "Snapshot $SNAPSHOT_NAME criado para o volume $VOLUME_NAME"
```
- Usar o script acima com **cron** para criar snapshots automáticos:
<code>crontab -e</code><br>
Adicionar a linha: <code>0 0 * * * /path/to/snapshot_script.sh</code><br>
- Automatiza a criação de snapshots diariamente à meia-noite, garantindo backups regulares dos volumes.
sudo cryptsetup luksFormat /dev/sdb
<br>
<code>sudo cryptsetup luksOpen /dev/sdb encrypted_volume</code><br>
<code>sudo ssm create --size 10G --fstype ext4 /dev/mapper/encrypted_volume</code>
- Configura um volume criptografado usando **LUKS** e cria um volume gerenciado pelo **SSM** em cima do dispositivo criptografado.
```
#!/bin/bash
VOLUME="/dev/mapper/volume_data"
THRESHOLD=80
USAGE=$(df -h | grep $VOLUME | awk '{print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
sudo ssm resize --size +10G $VOLUME
echo "Volume $VOLUME expandido em 10GB devido ao uso de $USAGE%"
fi
```
- Usa o script acima para monitorar o uso de espaço no volume e, quando o uso ultrapassa **80%**, o volume é automaticamente expandido em **10GB**.
sudo journalctl -u ssm
/dev/mapper/volume_name /mnt/data ext4 defaults 0 0
```
#!/bin/bash
VOLUME="/dev/mapper/volume_data"
THRESHOLD=90
USAGE=$(df -h | grep $VOLUME | awk '{print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Alerta: Volume $VOLUME está com $USAGE% de uso" | mail -s "Alerta de uso de disco" admin@dominio.com
fi
```
- O script monitora o uso do volume e envia um email de alerta quando o uso do disco ultrapassa **90%**, permitindo ações preventivas.
sudo rsync -avz /mnt/data user@servidor_remoto:/mnt/data_backup
```
#!/bin/bash
find /mnt/snapshot/ -type d -mtime +7 -exec rm -rf {} \;
echo "Snapshots mais antigos que 7 dias foram removidos"
```
- Remove snapshots mais antigos que **7 dias**, liberando espaço no sistema de forma automatizada.
sudo apt install nfs-kernel-server
<br>