Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

Create the Store with LVM

It is recommended to create the STORE machine without the disk for the storage being mounted by the installation routines. 

Useful Commands

The following commands are useful to see the current configuration of the machine,

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

Translations Ignore


Code Block
languagebashtitleDisplay of discs
# Show free space on existing devices
df -h

# Partitionen anzeigen Show drives
ls /dev/sd*

# Show partitions
fdisk -l

# Show partitions
ls /dev/sd*

# IfRe-scan the diskSCSI cannot yet be seen, re-scan the SCSI bus
echo "- 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.


Some of the information above may be required to complete installation.

It is important to know where the disk to be used is, and where the space is. 

Usually, we recommend adding a second disk drive to the machine for the storage. 

The following assumes that the disk was added as /dev/sdb on the machine, and is not yet partitioned. 

If this is not the case, or the drive is not /dev/sdb or the space was added to an existing partition, then the commands below will have to be (carefully) modified to take this into account.

Creation Steps

Create a Partition

Display of discs


Translations Ignore


Code Block
title
languagebashPartitioning with fdisk
fdisk /dev/sdb
 
# --> Edit the partitions on /dev/sdasdb
 
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


Create LVM Physical Volume

This command creates a physical volume which can be managed by LVM.

The above commands will have created a partition /dev/sdb1. If you are working on a different partition, then modify accordingly.Schritt 3 - Hereinnahme in LVM - Device Erzeugen

Translations Ignore


Code Block
languagebash
titleCreate device for LVM
# 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

Translations Ignore
lvm pvcreate /dev/sdb1


Create a Volume Group

This command creates a volume group called vg_jtelshared. The volume group can be expanded later, by adding more physical volumes. 

Translations Ignore


Code Block
languagebash
lvm vgcreate "vg_jtelshared" /dev/sdb1


Create a Logical Volume

Finally, a logical volume lv_jtelshared is created on the volume group which contains the aggregated space.

Code Block
languagebash
titleCreate LVM
lvm vgcreate "vg_jtelshared" /dev/sdb1

Schritt 5 - Logical Volume anlegen

Translations Ignore


Code Block
title
languagebashCreate LVM
lvm lvcreate -l +100%FREE vg_jtelshared -n lv_jtelshared


Create File System

Now, the file system is created. Here we use xfs, though you can use something else if you really want.Schritt 6 - File System erzeugen

Translations Ignore


Code Block
languagebashtitleCreate file system
mkfs.xfs -L data /dev/vg_jtelshared/lv_jtelshared


Prepare Mount Point

The data should be mounted to the directory /srv/jtel/shared.

The following commands prepare for this:Schritt 7 - Mount Point vorbereiten

Translations Ignore


Code Block
languagebash
titlePrepare mount point
mkdirmkdir /srv/jtel
mkdir /srv/jtel/shared 
chown -R jtel:jtel /srv/jtel/shared

Schritt 8 - Mount Point in fstab festlegen und mounten


Add to fstab to Mount at Boot

The following adds a line to fstab to mount the file system at bootfstab Eintrag:

Translations Ignore


Code Block
vi
languagebashtitle
cat <<EOFF >> /etc/fstab
vi
/dev/mapper/vg_jtelshared-lv_jtelshared /etc/fstab
...
(add the following line)
 
/dev/mapper/vg_jtelshared-lv_jtelshared /srv/jtel/srv/jtel/shared        xfs     defaults 0   0
Und mounten:

EOFF


Mount the File System

Translations Ignore


Code Block
languagebashtitlemount
mount /srv/jtel/shared
Schritt 9 - Zwischenergebnis prüfen


Checks

Translations Ignore


Code Block
title
languagebashCheck final result
df -h
Es sollte ein Eintrag für


This should show an entry for /srv/jtel/shared with the expected amount of free space.

Install and Configure Access to STORE

Install Samba

These commands install the samba server and client and lsof.existieren mit entsprechend freier Platz. Install Samba and lsof

Translations Ignore


Code Block
titleInstall SAMBA
yumdnf -y install samba samba-client lsof


Configure Samba

The following creates a samba configuration file with a minimum configuration.

Translations Ignore


Code Block
titleConfigure SAMBA
# SMB Conf
cat <<EOFF > /etc/samba/smb.conf
[global]
        workgroup = SAMBAJTEL
        security = user
        passdb backend = tdbsam
        min printingprotocol = cupsSMB3
        printcapntlm nameauth = cupsyes
 
[homes]
       load printerscomment = Home yesDirectories
        cupsvalid optionsusers = %S, raw%D%w%S
        min protocolbrowseable = NT1No
        ntlmread authonly = yes

[homes]
No
        inherit commentacls = Home DirectoriesYes
 
[shared]
    comment = jtel ACD validShared usersDirectory
 = %S, %D%w%S
 read only = no
    browseablepublic = Noyes
    writable = yes
   read onlylocking = Noyes
    path = /srv/jtel/shared
  inherit  guest aclsok = Yesyes

[printers]
    create mask   comment = All Printers0644
    directory    pathmask = /var/tmp0755
    force    printableuser = Yesjtel
    force    create mask group = 0600jtel
    acl allow execute  browseablealways = NoTrue

[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:

 
EOFF


Setup SeLinux and the Firewall

The following command sets up selinux for the smb service and opens the necessary ports in the firewall:


Translations Ignore


Code Block
setsebool -P samba_enable_home_dirs=on samba_export_all_rw=on use_samba_home_dirs=on use_nfs_home_dirs=on
firewall-cmd --zone=public --add-port=445/tcp --add-port=139/tcp --add-port=138/udp --add-port=137/udp --permanent
firewall-cmd --reload


Enable and Start Samba

The following commands setup the SMB and NMB services to autostart, and start them.

Translations Ignore


Code Block
titleStart SAMBA
systemctl enable nmb
systemctl enable smb
systemctl start nmb
systemctl start smb


Manually link /home/jtel/shared

Finally, link the /home/jtel/shared folder. 

Translations Ignore


Code Block
titlelink /home/jtel/shared
ln -s /srv/jtel/shared /home/jtel/shared


Setup Access to the Samba Server

jtel User Access

The following command creates the smb credentials for the jtel user.

Status
colourRed
titleCaution Password

Translations Ignore


Code Block
Translations Ignore
Code Block
titleSeLinux, jtel User, Firewall
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 smbpasswd -a -s jtel


Further User Access

If necessary, add further users to samba - replacing password with the actual password for the user. Here, for example, the windows administrator user:

Status

translations-ignore

colour

code

Red
title

More SAMBA users
useradd -m Administrator
printf '<password>\n<password>\n' | smbpasswd -a -s Administrator
Test SAMBA

Caution Password

Translations Ignore


Code Block
titleStart SAMBA
systemctl enable nmb
systemctl enable smb
systemctl start nmb
systemctl start smb

Manually link /home/jtel/shared

Translations Ignore
Code Block
titlelink /home/jtel/shared
ln -s /srv/jtel/shared /home/jtel/shareduseradd -m Administrator
printf '<password>\n<password>\n' | smbpasswd -a -s Administrator


Test the file mount

Translations Ignore Code Block
titleTest file mount
# From the windows machines:   dir

Finally, test the file mount from one of the other machines. Either by connecting to STORE, or by using the windows explorer to attach to \\acd-store\shared



Sv translation
languagede

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

Translations Ignore


Code Block
languagebash
titleDisplay of discs
# 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

Translations Ignore


Code Block
languagebash
titlePartitioning with fdisk
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

Translations Ignore


Code Block
languagebash
titleCreate device for LVM
# 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

Translations Ignore


Code Block
languagebash
titleCreate LVM
lvm vgcreate "vg_jtelshared" /dev/sdb1



Schritt 5 - Logical Volume anlegen

Translations Ignore


Code Block
languagebash
titleCreate LVM
lvm lvcreate -l +100%FREE vg_jtelshared -n lv_jtelshared



Schritt 6 - File System erzeugen

Translations Ignore


Code Block
languagebash
titleCreate file system
mkfs.xfs -L data /dev/vg_jtelshared/lv_jtelshared




Schritt 7 - Mount Point vorbereiten

Translations Ignore


Code Block
languagebash
titlePrepare mount point
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:

Translations Ignore


Code Block
languagebash
titlevi /etc/fstab
vi /etc/fstab
...
(add the following line)
 
/dev/mapper/vg_jtelshared-lv_jtelshared /srv/jtel/shared        xfs     defaults 0   0



Und mounten:

Translations Ignore


Code Block
languagebash
titlemount
mount /srv/jtel/shared




Schritt 9 - Zwischenergebnis prüfen

Translations Ignore


Code Block
languagebash
titleCheck final result
df -h



Es sollte ein Eintrag für /srv/jtel/shared existieren mit entsprechend freier Platz. 

Install Samba and lsof

Translations Ignore


Code Block
titleInstall SAMBA
yum -y install samba samba-client lsof



Configure Samba

Translations Ignore


Code Block
titleConfigure 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:

Translations Ignore


Code Block
titleSeLinux, jtel User, Firewall
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:

Translations Ignore


Code Block
titleMore SAMBA users
useradd -m Administrator
printf '<password>\n<password>\n' | smbpasswd -a -s Administrator



Test SAMBA

Translations Ignore


Code Block
titleStart SAMBA
systemctl enable nmb
systemctl enable smb
systemctl start nmb
systemctl start smb



Manually link /home/jtel/shared

Translations Ignore


Code Block
titlelink /home/jtel/shared
ln -s /srv/jtel/shared /home/jtel/shared



Test the file mount

Translations Ignore


Code Block
titleTest file mount
# From the windows machines:
 
dir \\acd-store\shared