Erstellen des Stores mit LVM
Die meisten Linux / CentOS Installationen von uns arbeiten mit LVM. Diese Anleitung beschreibt, wie die Rolle STORE auf ein System mittels LVM installiert werden kann.
Schritt 1 - Feststellen der aktuellen config
# Freier Platz anzeigen df -h # Partitionen anzeigen fdisk -l # Festplatten anzeigen ls /dev/sd* # Physische Volumes anzeigen die durch LVM verwaltet werden lvm pvs # Logische Volumes anzeigen die durch LVM verwaltet werden lvm lvs # Logische Volume Gruppen anzeigen die durch LVM verwaltet werden lvm vgs # Wo ist was gemounted mount
Die Informationen oben werden nun gebraucht. Die Konfiguration sollte geprüft werden, nicht das bereits ein LVM für das Storage vorgesehen ist.
Schritt 2 - Anlegen einer neuen Partition
Hier ist es erforderlich, dass man weiß, wo der zusätzlicher Platz zu finden ist. Es gibt 2 Varianten - entweder eine neue Platte, oder eine erweiterte Platte.
In beiden Fällen, wird eine neue Partition angelegt. Hier in diesen Beispiel, wurde eine neue Platte genutzt, die auf /dev/sdb zu finden ist.
Die Befehle unten sowie die Partitionsnummer (bei einer vorhandenen Platte ist die Partition dann nicht mehr zwingend 1), entsprechend anpassen.
fdisk /dev/sdb # --> Bearbeiten der Partitionen auf /dev/sda n # --> Neue Partition anlegen p # --> Neue primary partition 1 # --> Neue Partition 1 anlegen (Ausgabe bei fdisk -1 oben betrachten) Enter # --> Bestätigung dass der erste verfügbarer Zylinder verwendet werden soll Enter # --> Bestätigung dass der letzte verfügbarer Zylinder verwendet werden soll (ergibt in Summe die maximale Größe) t # --> Typ der Partition ändern 8e # --> Linux LVM w # --> Wenn OK, schreiben reboot now
Schritt 3 - Hereinnahme in LVM - Device Erzeugen
# Hier die Ausgabe vorher von /dev/sd* --> das hier ist die neue Platte (die 1. Partition auf /dev/sdb, sprich die zweite Festplatte, neu angelegte Partition) lvm pvcreate /dev/sdb1
Schritt 4 - Volume Group anlegen
lvm vgcreate "vg_jtelshared" /dev/sdb1
Schritt 5 - Logical Volume anlegen
lvm lvcreate -l +100%FREE vg_jtelshared -n lv_jtelshared
Schritt 6 - File System erzeugen
mkfs.xfs -L data /dev/vg_jtelshared/lv_jtelshared
Schritt 7 - Mount Point vorbereiten
mkdir /srv/jtel mkdir /srv/jtel/shared
Schritt 8 - Mount Point in fstab festlegen
vi /etc/fstab ... (folgende Zeile hinzufügen) /dev/mapper/vg_jtelshared-lv_jtelshared /srv/jtel/shared xfs noauto,noatime,nodiratime 0 0
Schritt 9 - Zwischenergebnis prüfen
df -h
Es sollte ein Eintrag für /srv/jtel/shared existieren mit entsprechend freier Platz.
Install Samba and lsof
yum -y install samba samba-client lsof
Configure Samba
cat <<EOFF > /etc/samba/smb.conf [global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw min protocol = NT1 ntlm auth = yes [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = root create mask = 0664 directory mask = 0775 [shared] comment = jtel ACD Shared Directory read only = no public = yes writable = yes locking = yes path = /srv/jtel/shared guest ok = yes create mask = 0644 directory mask = 0755 force user = jtel force group = jtel acl allow execute always = True EOFF sed -i -e "s/MYGROUP/WORKGROUP/g" /etc/samba/smb.conf
Setup SeLinux, jtel User access and Firewall for Samba
setsebool -P samba_enable_home_dirs=on samba_export_all_rw=on use_samba_home_dirs=on use_nfs_home_dirs=on printf 'fireball\nfireball\n' | smbpasswd -a -s jtel firewall-cmd --zone=public --add-port=445/tcp --add-port=139/tcp --add-port=138/udp --add-port=137/udp --permanent firewall-cmd --reload
If necessary, add further users to samba:
useradd -m Administrator printf 'F1r3B²11\nF1r3B²11\n' | smbpasswd -a -s Administrator
Test SAMBA
systemctl enable nmb systemctl enable smb systemctl start nmb systemctl start smb
Manually link /home/jtel/shared
ln -s /srv/jtel/shared /home/jtel/shared
Test the file mount
# From the windows machines: dir \\acd-lb\shared