User Tools

Site Tools


wiki:linux:comandos:comando_ssm

Introdução ao System Storage Manager (SSM)

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.

Gerenciamento do SSM - Nível Básico

Nível Básico

  • Listar todos os dispositivos de armazenamento disponíveis:
    1. sudo ssm list
    2. Exibe uma lista de todos os dispositivos de armazenamento e volumes gerenciados pelo SSM, mostrando detalhes como nome, tipo e tamanho.
  • Criar um volume simples com SSM:
    1. sudo ssm create --fstype ext4 --size 5G /dev/sdb
    2. Cria um volume de 5GB no dispositivo /dev/sdb com o sistema de arquivos ext4.
  • Montar um volume gerenciado pelo SSM:
    1. sudo mount /dev/mapper/volume_name /mnt/data
    2. Monta um volume criado com o SSM no diretório /mnt/data.
  • Desmontar um volume gerenciado pelo SSM:
    1. sudo umount /mnt/data
    2. Desmonta o volume previamente montado no diretório /mnt/data.
  • Exibir informações detalhadas sobre volumes e sistemas de arquivos:
    1. sudo ssm list --details
    2. Exibe informações detalhadas sobre volumes, sistemas de arquivos e dispositivos físicos.
  • Formatar um dispositivo de armazenamento com SSM:
    1. sudo ssm format --fstype xfs /dev/sdb
    2. Formata o dispositivo /dev/sdb com o sistema de arquivos XFS, pronto para ser usado.
  • Verificar o uso de espaço em todos os volumes:
    1. sudo ssm list --usage
    2. Mostra o uso de espaço de todos os volumes gerenciados, incluindo detalhes sobre espaço livre e usado.
  • Criar um ponto de montagem automático para o volume:
    1. sudo ssm mount --fstype ext4 /dev/sdb1 /mnt/data
    2. Monta o volume /dev/sdb1 no diretório /mnt/data e o configura para montagem automática no boot.
  • Remover um volume gerenciado pelo SSM:
    1. sudo ssm remove /dev/mapper/volume_name
    2. Remove um volume gerenciado pelo SSM, liberando o espaço utilizado no sistema.
  • Renomear um volume existente:
    1. sudo ssm rename /dev/mapper/volume_name /dev/mapper/new_volume_name
    2. Renomeia um volume gerenciado pelo SSM, atribuindo um novo nome.
  • Criar um snapshot de um volume com SSM:
    1. sudo ssm snapshot /dev/mapper/volume_name --name snapshot_name
    2. Cria um snapshot de um volume existente, permitindo a restauração futura de seus dados.

Gerenciamento do SSM - Nível Intermediário

Nível Intermediário

  • Aumentar o tamanho de um volume existente:
    1. sudo ssm resize --size +10G /dev/mapper/volume_name
    2. Expande o volume volume_name em 10GB, utilizando o espaço livre disponível no Volume Group (VG).
  • Reduzir o tamanho de um volume existente:
    1. Desmontar o volume antes de reduzir:<br>
sudo umount /mnt/data

<br>

  1. Reduzir o tamanho do volume:<br>
sudo ssm resize --size 5G /dev/mapper/volume_name

<br>

  1. Reduz o volume para 5GB, liberando espaço no VG. O volume deve estar desmontado para evitar corrupção de dados.
  • Adicionar um novo disco a um Volume Group (VG) existente:
    1. sudo ssm add /dev/sdc /dev/mapper/volume_name
    2. Adiciona o dispositivo /dev/sdc ao VG que contém o volume volume_name, expandindo sua capacidade.
  • Listar os discos físicos associados a um Volume Group:
    1. sudo ssm list --pv
    2. Exibe todos os Physical Volumes (PVs) associados aos Volume Groups gerenciados pelo SSM.
  • Exibir detalhes sobre um Volume Group específico:
    1. sudo ssm list --vg vg_name
    2. Exibe informações detalhadas sobre o Volume Group (VG) chamado vg_name, incluindo o uso de espaço, discos físicos, e volumes lógicos associados.
  • Criar um volume espelhado com SSM:
    1. sudo ssm create --size 10G --fstype ext4 --mirror 2 /dev/sdb /dev/sdc
    2. Cria um volume espelhado de 10GB usando /dev/sdb e /dev/sdc, com o sistema de arquivos ext4. Isso garante redundância de dados, pois cada disco terá uma cópia dos mesmos dados.
  • Mover os dados de um volume para outro dispositivo físico:
    1. sudo ssm move /dev/mapper/volume_name /dev/sdd
    2. Move todos os dados do volume volume_name para o dispositivo /dev/sdd, útil para migrações ou manutenção de discos.
  • Verificar a integridade de um volume gerenciado pelo SSM:
    1. sudo ssm check /dev/mapper/volume_name
    2. Verifica a integridade do sistema de arquivos e do volume volume_name, corrigindo eventuais problemas se possível.
  • Criar um snapshot de um volume e montá-lo:
    1. sudo ssm snapshot /dev/mapper/volume_name --name snapshot1

      <br>

sudo mount /dev/mapper/snapshot1 /mnt/snapshot
  1. Cria um snapshot chamado snapshot1 do volume volume_name e o monta no diretório /mnt/snapshot para acesso.
  • Monitorar o uso de espaço de um Volume Group ao longo do tempo:
    1. sudo watch ssm list --vg vg_name
    2. Monitora em tempo real o uso de espaço no VG chamado vg_name, atualizando a cada segundo.
  • Converter um volume espelhado para um volume simples:
    1. sudo ssm convert --to simple /dev/mapper/volume_name
    2. Converte um volume espelhado de volta para um volume simples, removendo o espelhamento e utilizando apenas um disco.
  • Exibir informações de desempenho de volumes com SSM:
    1. sudo ssm list --performance
    2. Exibe métricas de desempenho dos volumes gerenciados, como tempo de leitura/gravação e uso de I/O.

Gerenciamento do SSM - Nível Avançado

Nível Avançado

  • Automatizar a criação de volumes e montagem em scripts:
    1. Exemplo de script simples:

```

    #!/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.
  • Configurar permissões e quotas em volumes gerenciados pelo SSM:
    1. Aplicar permissões ao ponto de montagem:
sudo chmod 770 /mnt/data

<br>

  1. Configurar quotas de disco para usuários:
sudo setquota -u user1 10000 12000 0 0 /mnt/data

<br>

  1. Define permissões de acesso e quotas de disco para o volume montado em /mnt/data, limitando o uso de espaço por usuários específicos.
  • Automatizar a criação de snapshots em intervalos regulares:
    1. Criar um script para snapshots automatizados:

```

    #!/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.
  • Configurar segurança avançada para volumes SSM com criptografia LUKS:
    1. Criar um volume criptografado:<br>
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.
  • Expandir volumes automaticamente com base no uso de espaço:
    1. Script para expandir volume automaticamente:

```

    #!/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**.
  • Auditar logs de volumes criados e removidos com SSM:
    1. sudo journalctl -u ssm
    2. Exibe os logs de todas as operações feitas pelo System Storage Manager, como criação, remoção e redimensionamento de volumes, útil para auditorias e resolução de problemas.
  • Configurar volumes automontáveis no boot com SSM:
    1. Adicionar a entrada no arquivo `/etc/fstab`:
/dev/mapper/volume_name /mnt/data ext4 defaults 0 0
  1. Configura um volume para montagem automática no boot, garantindo que ele esteja sempre disponível após reinicializações.
  • Monitorar volumes e gerar alertas com scripts:
    1. Exemplo de script com notificação de email:

```

    #!/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.
  • Migrar volumes entre servidores automaticamente:
    1. Usar rsync para migrar volumes:<br>
sudo rsync -avz /mnt/data user@servidor_remoto:/mnt/data_backup
  1. Cria um backup/migração de volumes entre servidores usando rsync, útil para migração de dados ou replicação entre ambientes.
  • Remover volumes automaticamente com base em critérios de tempo:
    1. Script para remover snapshots antigos:

```

    #!/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.
  • Criar um volume compartilhado entre múltiplos servidores com NFS:
    1. Instalar e configurar NFS:<br>
sudo apt install nfs-kernel-server

<br>

  • *Configurar o compartilhamento no servidor NFS:<br> <code>sudo echo “/mnt/data *(rw,sync,no_root_squash)” » /etc/exports</code><br> No cliente NFS:<br> <code>sudo mount servidor_nfs:/mnt/data /mnt/data</code><br> - Compartilha volumes entre servidores via NFS**, permitindo que múltiplos servidores acessem os mesmos dados de forma compartilhada.
wiki/linux/comandos/comando_ssm.txt · Last modified: by Wiki Administrator