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
# Show free space df -h # Partitionen anzeigen fdisk -l # Show partitions ls /dev/sd* # If the disk cannot yet be seen, re-scan the SCSI bus echo "- - -" > /sys/class/scsi_host/host0/scan # View physical volumes managed by LVM lvm pvs # Display logical volumes managed by LVM lvm lvs # Display logical volume groups managed by LVM lvm vgs # Where is what mounted 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.
Display of discs
fdisk /dev/sdb # --> Edit the partitions on /dev/sda n # --> Create new partition p # --> New primary partition 1 # --> Create new partition 1 (view output at fdisk -1 above) Enter # --> Confirmation that the first available cylinder should be used Enter # --> Confirmation that the last available cylinder is to be used (gives the maximum size in total) t # --> Change partition type 8e # --> Linux LVM w # --> When OK, write reboot now
Schritt 3 - Hereinnahme in LVM - Device Erzeugen
# Here is the previous edition of /dev/sd* --> this is the new record (the 1st partition on /dev/sdb, i.e. the second hard disk, newly created 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 chown -R jtel:jtel /srv/jtel/shared
Schritt 8 - Mount Point in fstab festlegen und mounten
fstab Eintrag:
vi /etc/fstab ... (add the following line) /dev/mapper/vg_jtelshared-lv_jtelshared /srv/jtel/shared xfs defaults 0 0
Und mounten:
mount /srv/jtel/shared
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
Replace <password> with the password for the jtel user:
setsebool -P samba_enable_home_dirs=on samba_export_all_rw=on use_samba_home_dirs=on use_nfs_home_dirs=on printf '<password>\n<password>\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 - replacing password with the actual password for the user. Here, for example, the windows administrator user:
useradd -m Administrator printf '<password>\n<password>\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-store\shared