Post

Visualizzazione dei post da ottobre, 2021

KERNEL

Immagine
Il kernel è il cuore del sistema operativo linux.  Indirizza l'hardware devices attraverso i drivers che si chiamano modules .  Ad esempio initramfs sta per initial ram files e viene caricato al boot del server linux. Contiene un temporanea root directory e tutti i drivers che servono per avviare il sistema operativo linux. systemd-udevd  per riconoscere hot-plug hardware modprobe usato per caricare manualmente i driver Una volta caricato il kernel possiamo usare la Shell che permette di digitare i comandi (syscall). I drivers sono implementati come moduli del kernel, molti dei quali sono caricati automaticamente attraverso initramfs o system-udevd. Per caricare manualmente i moduli del kernel e tutte le sue dipendenze usare modprobe . Per visualizzare la lista dei moduli del kernel caricati usare lsmod Ad esempio cerchiamo il modulo vfat (Virtual File Allocation Table, cioè il file system introdotto con Wondows 95). # lsmod | grep vfat non restituisce record perchè non è un modu

ORA-39083 ORA-01403 On INDEX_STATISTICS

DataPump Import (IMPDP) Failed With Errors ORA-39083 ORA-1403 On INDEX_STATISTICS (Doc ID 755253.1) Quando si effettua un import usando il parametero REMAP_SCHEMA può verificarsi l'errrore  ORA-39083: Object type INDEX_STATISTICS failed to create with error: ORA-01403: no data found ORA-01403: no data found L'errore si verifica perchè alcuni indici sono stati creati senza nome cioè in automatico dal sistema e quindi vengono persi in fase di import. Ad esempio un indice select object_name, object_type from user_objects; OBJECT_NAME OBJECT_TYPE ------------------------------ ------------------- TEST0 TABLE SYS_C009845 INDEX <-- Index associated with PK constraint. TEST0INDEX INDEX L'indice SYS_C009845 INDEX non verrà importato se si usa il REMAP_SCHEMA e quando l'import tenta di importare le statistiche per l'indice generato dal sistema in un secondo momento, non riesce perché manca

LUKS Encrypted Volumes

Immagine
Per creare un LUKS Encrypted device si parte da una partizione che può essere creata con parted o fdisk Usare il comando seguende per criptare il device cioè uno livello/strato criptato sopra il device. # cryptsetup luksFormat  /dev/sdc1 Ora apriamo il device che chiameremo mysecret # cryptsetup luksOpen   /dev/sdc1  secret Il device criptato e aperto viene creato sotto /dev/mapper/secret Creiamo ora il file system mkfs sul device mapper e montatiamolo su una directory. # mkfs.xfs /dev/mapper/secret #  mkdir /secret  Per montare automaticamente il volume usare /etc/fstab # vi /etc/fstab /dev/mapper/secret     /secret     xfs     defaults     0     0 Per automatizzare cryptsetup luksOpen usare /etc/crypttab secret     /dev/sdc1     none Per verificare se inseriti correttamente # man crypttab 

VDO

Immagine
VDO (Virtual Data Optimizer) è usato per ottimizzare i dati memorizzati su disco. E' stato sviluppato per ridurre l'utilizzo dello spazio disco su dispositivi a blocchi attraverso l'utlizzo del deduplica. Cosa è il deduplca ?  è una tecnologia di memorizzazione dati che analizza i dati da archiviare su disco ed elimina i modelli duplicati consentendo storage più efficenti.   VDO crea volumi implementando il deduplica su qualsiasi dispositivo a blocchi. Sopra il dispositivo VDO, è possibile creare un file system o utilizzarlo come volume fisico in una configurazione LVM. Utilizza tre tecnologie: - VDO utilizza la tecnologia di thin provisioning per identificare ed eliminare i blocchi di dati vuoti (zero byte). Questo è indicato come zero-block elimination . VDO rimuove la randomizzazione dei blocchi di dati spostando i blocchi di dati in uso in posizioni contigue sul dispositivo di archiviazione.  - La deduplicazione riduce i blocchi di dati ridondanti: VDO analzza se i nuo

STRATIS

Immagine
Stratis è un volume manager file system  introdotto con rhel8. Utilizza sotto un file system di tipo XFS. E' costruita su qualsiasi block device inclusi lvm device. Ha le seguenti caratteristiche: - thin provisioning - tecnologia che consiste nello spostare data blocks in posti contigui così da eliminare gli spazi vuoti - snapshots - cache tier - programmatic Api - monitoring and repair Architettura: 1) blockdev 2) pool: è un insieme di blockdev come volum group 3) File system Stratis crea un Pool  a partire da uno o più block devices (blockdev) e poi crea una directory /dev/stratis/mypool per ogni pool. La directory contiene dei link ai device che rappresentano i file system del pool. Quindi un pool può contenere uno o più file system e il singolo file system sembra occupare esclusivamente l'intera dimensione del pool. Installiamo il pacchetto e abilitamolo. # yum install -y stratis-cli stratisd Avviamo il servizio e abilitiamo lo start automatico al boot del sistema. # syst

LVEXTEND

Immagine
Vogliamo aumentare lo spazio di un logical volume # df -h   Scegliamo una nuova partizione da aggiungere al volume group vgdata # vgs Individuiamo una partizione libera  #  lsblk Con parted o FDISK impostiamo la partizione di tipo lvm # parted /dev/sdd # set 7 lvm on Compare il flag "lvm" in corrispondenza del numero 7  . A questo punto estendiamo il volume group sulla partizione 7. # vgextend vgdata /dev/sdd7 Il phisycal volume è creato automaticamente. La vgdata può essere aumentata di 832MB. Aumentiamo la dimensione del logical volume. # lvextend -r -L +832M /dev/vgdata/lvdata # lvextend -r -l +100%FREE /dev/vgdata/lvdata IMPORTANTISSIMO Se viene usato nel comando "lvextend" l'opzione "-r" non c'è bisogno di estendere il file system se di tipo xfs. Se invece non si usa l'opzione -r occorre estendere anche il file system #  lvextend --L +832M /dev/vgdata/lvdata #  lvextend -l +100%FREE /dev/vgdata/lvdata Usare il seguente comando per estende

Device Mapper Names

Immagine
 Il kernel usa Device mapper per interfacciarsi con i dispositivi di storage. Device mapper genera nomi senza significato come /dev/dm-0, /dev/dm-1.... Invece i nomi sensati sono formati attraverso link simbolici sotto /dev/mapper oppure sono generati da LVM. Il primo è generico ed è visibile tramite il comado mount , il secondo invece da " lvdisplay " o da /etc/fstab Entrambi i link simbolici puntano /dm-4. Non usare direttamente i mapper name perchè potrebbero cambiare al boot o aggiungendo altri device. 

LVM

Immagine
Logical Volumes è una gestione avanzata dello strorage che viene utilizzare di default durante l'installazione di Rhel. Permette di gestire lo storage con flessiilità attraverso il resize, create snapshot e thin provisioning. Il thin provisioning è una tecnologia che consiste nello spostare data blocks in posti contigui così da eliminare gli spazi vuoti. L'architettura LVM prevede Voluem group (vg) : è una astrazione dello spazio (storage) disponbile sul proprio sistema.  Viene creato da storage devices cioè dischi o da partizioni noti come Physical volume (pv). A partire dal vg possono essere create Logical volume (lv) che non sono direttamente collegate al pv. La dimensione di un lv può diventare più grande della dimensione dei singoli dischi. Creiamo una nuova partizione di tipo LVM sotto /dev/sdc # parted /dev/sdc Impostare la partizione sdc4 di tipo lvm. #  set 4 lvm on Il campl Flags è "lvm". Creare il physical volume. # pvcreate /dev/sdc4 Creare il Volume Group

SWAP

Immagine
Swap è una Ram simulata sul disco. Tutti i sistemi Linux dovrebbero avere una swap la cui dimensione dipende dall'uso del server. La swap è una regione del disco fisico usato per mantenere al minimo i dati finché sono necessari. Per visualizzare lo spazio # free -ht Estrae le informazioni dal seguente file # cat /proc/meminfo | grep -E 'Mem|Swap' Swap può esser creata in qualsisasi block device incluso un file. Creare una nuova partizione di tipo swap con parted  sotto /dev/sdb Print per visualizzare er visaulizzare l'attuale partiotion table. mkpart inserite il nome della partizione eil tipo di file system che dev essere "linux-swap" Se vuole creare uno swap di 1 G impostare i valori Start? 1GiB End? 2 GiB p per viualizzare lo stato exit q per scrivere Scegliamo la partizione /dev/sdb2 dove creare la swap. Per creare la swap FS # mkswap /dev/sdb2 Per attivare la swap immediatamente # swapon /dev/sdb2 Con il comndo "free" vediamo che dopo "s

Creare un file system MKFS - UUID

Immagine
Una volta creata una partizione occorre installare un file system che definisce il metodo di scrittura dei dati su disco, l'organizzazione dei dati in blocchi e ogni altra cosa legata alla memorizzazione dei dati su disco. Il file system di defauklt è xfs. # mkfs.xfs /dev/sdb1 In Rhel6 quello di default è ext4 che è compatibile con ext2. Per visaulizzare la lista dei file system: # mkfs.[tab] [tab]  Una volta creato va collegato ad una directory tramite il comnado  # mount  /dev/sdb1 /opt Con il comndao lsblk vedo i device e dove sono montati. Creiamo il file system xfs sotto la patizione sdb1. Con il comando lsblk vediamo che la direcotry /opt è montata sulla partizione /dev/sdb1. Inoltre il comando mount fa vedere tutti i file system montati e quindi se l'operazione è terminata con succcesso. Se vogliamo smontare la partizione /dev/sdb1 da /opt usare il comdano umount. Risponde che la directory /opt è occupata perchè siamo all'interno della direcorty.  Usare il comando #