Archivio: 27 Luglio 2022

TrueNAS connessione a disco iSCSI

Ho un box TrueNAS con 4 dischi da 3TB in RaidZ ma si sa, lo spazio non è mai abbastanza. Non potendo aggiungere altri dischi all’interno dello stesso server ho allestito un secondo box, con altrettanti dischi da 3TB ed esportato un disco iSCSI che ho montato (via rete) sul primo server.

Vediamo come.

Per prima cosa creiamo un volume all’interno di un pool, in questo caso “targetDisk”.

Adesso dobbiamo condividere il volume attraverso l’iSCSI, quindi partiamo da “Sharing” -> “Block Shares (iSCSI)
Possiamo utilizzare il wizard, che ci aiuta a creare portale, iniziatore, target e extent:

La configurazione globale, da cui prendiamo il “Base Name“: “iqn.2005-10.org.freenas.ctl” (1)
Il portale con Group ID 1 e l’interfaccia (ip) su cui ascolta
Il gruppo di iniziatori, con le reti autorizzate a connettersi
Il Target, con il nome “targetDisk” che ci servirà tra poco
L’extent con il nome “targetdisk” (occhio che qui è tutto minuscolo)
Ed infine il target associato con nome “targetdisk” (2)

A questo punto è tutto ok, ricordiamoci di avviare la condivisione iSCSI dal pannello dei servizi.

Ci spostiamo sul nodo TrueNAS che deve importare il disco che abbiamo esportato sopra e ci connettiamo in SSH (oppure avviamo la Shell dal pannello web).
Dobbiamo creare (o modificare) il file /conf/base/etc/iscsi.conf così:

t0 {
  TargetAddress = 10.20.30.251
  TargetName = iqn.2005-10.org.freenas.ctl:targetdisk
}

In questo caso il TargetAddress è l’indirizzo del nodo che espone il disco iSCSI e il nome è composto dal BaseName del punto 1 e dal nome targetdisk, quello del target associato del punto 2, divisi da “:”
Dobbiamo anche modificare il file “/conf/base/etc/rc.conf” aggiungendo queste righe al termine del file:

iscsid_enable="YES"
iscsictl_enable="YES"
iscsictl_flags="-Aa"

Una ultima modifica al file “/conf/base/etc/ix.rc.d/ix-zfs” dove dobbiamo modificare la linea:

# REQUIRE: hostid mountcritlocal

con:

# REQUIRE: hostid mountcritlocal iscsictl

A questo punto possiamo riavviare il nodo e dovremmo trovare un nuovo disco “da0” tipo questo:

Possiamo aggiungere quindi un nuovo pool (Storage -> Pools) indicando il disco “da0” come unico membro del nuovo pool di nome “targetDisk“. La dashboard, adesso, ci permette di vedere entrambi i volumi:

Abbiamo un po’ più spazio.

Windows Server 2019 in dominio, icone di sistema sul desktop

Le classiche icone “Questo PC”, “Rete”, “Pannello di controllo” non possono essere visualizzate sul desktop di un Windows Server connesso ad un dominio da “Impostazioni” -> “Personalizzazione” -> “Temi” -> “Impostazioni delle icone del desktop“:

Per ovviare a questo problema, dato che le icone di sistema ci piacciono molto (siamo abituati così…) dobbiamo modificare una regola sui criteri di gruppo.

Eseguiamo “gpedit.msc” da start/esegui e scegliamo le opzioni:

Criteri Computer Locale” -> “Configurazione Computer” -> “Impostazioni di Windows” -> “Impostazioni di Sicurezza” -> “Criteri Locali” -> “Opzioni di Sicurezza“, fino ad arrivare all’opzione “Controllo account utente: modalità Approvazione amministratore per l’account amministratore predefinito

A questo punto dobbiamo impostare l’opzione ad “Attivato“:

Ecco fatto, un riavvio e possiamo attivare le nostre icone sul desktop:

Ottimo!

Rimuovere o modificare parte di nome su più file in bash

Una ricetta reve breve ma utile.

Dobbiamo rinominare una serie di file e rimuovere una parte del nome:

screenshot-primo.png
screenshot-secondo.png
screenshot-terzo.png
screenshot-quarto.png
screenshot-quinto.png

rimuoviamo una parte del nome (screenshot-) così:

for x in screenshot-*.png; do
echo $x | sed -r 's/screenshot-(.+)\.png/mv -v "\0" "\1.png"/';
done | sh -e

per tranquillità possiamo rimuovere l’ultima parte del comando (sh -e) per controllare quello che cerca di fare lo script.

se abbiamo, nel nome, anche una parte variabile da modificare possiamo utilizzare il carattere “.” per ogni lettera del nome.

Per esempio, per rinominare questi file:

100-immagini-primo.png
101-immagini-secondo.png
102-immagini-terzo.png
201-immagini-quarto.png
202-immagini-quinto.png

useremo questo script:

for x in *-immagini-*.png; do
echo $x | sed -r 's/...-immagini-(.+)\.png/mv -v "\0" "\1.png"/';
done | sh -e

fatto!

🙂

Da rete pubblica a privata

Dopo una installazione, dopo un riavvio o un cambio di switch il nostro caro Windows (10/11, server) si convince di essere connesso ad una rete pubblica.

Possiamo convertire la rete a cui è connesso il pc/server a rete privata in vari modi. Qui vediamo come farlo da powershell.

Apriamo una PowerShell con diritti di amministratore ed eseguiamo:

PS C:\Users\Administrator> Get-NetConnectionProfile

Name             : Network
InterfaceAlias   : Lan
InterfaceIndex   : 7
NetworkCategory  : Private
IPv4Connectivity : Internet
IPv6Connectivity : NoTraffic

Name             : Unidentified network
InterfaceAlias   : Lan10G
InterfaceIndex   : 11
NetworkCategory  : Public
IPv4Connectivity : NoTraffic
IPv6Connectivity : NoTraffic

Possiamo notare che la seconda rete in lista è una rete pubblica. L’interface Index è 11.

Adesso con il comando “Set-NetConnectionProfile” convertiamo la rete con indice 11 in privata:

PS C:\Users\Administrator> Set-NetConnectionProfile -InterfaceIndex 11 -NetworkCategory Private

Verifichiamo nuovamente lo stato delle reti

PS C:\Users\Administrator> Get-NetConnectionProfile

Name             : Network
InterfaceAlias   : Lan
InterfaceIndex   : 7
NetworkCategory  : Private
IPv4Connectivity : Internet
IPv6Connectivity : NoTraffic

Name             : Unidentified network
InterfaceAlias   : Lan10G
InterfaceIndex   : 11
NetworkCategory  : Private
IPv4Connectivity : NoTraffic
IPv6Connectivity : NoTraffic

Adesso, la rete con indice 11, è privata. Dannato Windows.