So erstellen Sie eine Sudoer-Konfiguration für Snapshots

Bei Verwendung von LVM-Snapshots werden die folgenden Einträge in der Datei / etc / sudoers benötigt. Bitte führen Sie "visudo" aus, um die Datei / etc / sudoers zu bearbeiten, und fügen Sie diese Einträge hinzu, um das zu ermöglichen mysql Benutzer, um erforderliche Befehle auszuführen, ohne zur Eingabe eines Kennworts aufgefordert zu werden und ohne eine Anmeldeshell zu benötigen:

MySQL = NOPASSWD: / bin / mount, NOPASSWD: / bin / umount, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate, NOPASSWD: / usr / sbin / lvremove Standardeinstellungen: % mysql! requireetty Standardeinstellungen: mysql! requireetty

Denken Sie daran, den richtigen Pfad für alle lvmtools je nach Betriebssystem zu ersetzen, da dies je nach verwendeter Linux-Distribution unterschiedlich sein kann.

Sie können Ihre Sudoers-Datei optimieren, falls Ihr Unternehmen strengere Richtlinien hat. Nehmen wir ein Beispiel:

Angenommen, auf dem MySQL-Server, diamant.jewel.com, gibt es jeweils drei Datenträgergruppen VolGroup3, vg00 und vg1 sowie die logischen Datenträger LogVol2, lv00 und lv1. Wir haben das MySQL-Datenverzeichnis in Logvol2 mit der Innodb-Datenbank in Stufe 00 und den Innodb-Protokollen in Stufe 1:
 

Dateisystem 1K-Blöcke Verwendet Verfügbar Verwenden Sie% Mounted on
/ dev / mapper / VolGroup00-LogVol00
7459216 3040728 4033464 43 % /
/ dev / sda1 101086 10895 84972 12% / boot
tmpfs 127668 0 127668 0% / dev / shm
/ dev / mapper / vg1-lv1 126931 11832 108546 10% / l1
/ dev / mapper / vg2-lv2 126931 11833 108545 10% / l2


Der Inhalt von /etc/my.cnf lautet wie folgt

innodb_data_home_dir = / l1 / ibdata innodb_data_file_path = ibdata1: 10M: automatisch erweitern innodb_log_group_home_dir = / l2 / iblogs


Die Sudoer-Dateikonfiguration sollte die folgenden Zeilen für das obige Beispiel enthalten. Wenn Sie nur eine Datenträgergruppe haben, müssen Sie nur eine Zeile haben.

mysql diamant.jewel.com = NOPASSWD: / bin / mount / dev / VolGroup00 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / VolGroup00 / LogVol00, NOPASSWD: / usr / sbin / lvremove -f / dev / VolGroup00 / zrm * mysql diamant.jewel. com = NOPASSWD: / bin / mount / dev / vg1 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD : / usr / sbin / lvcreate -L * -s -n zrm * / dev / vg1 / lv1, NOPASSWD: / usr / sbin / lvremove -f / dev / vg1 / zrm * mysql diamant.jewel.com = NOPASSWD: / bin / mount / dev / vg2 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / vg2 / lv2, NOPASSWD: / usr / sbin / lvremove -f / dev / vg2 / zrm *


HINWEIS: Bitte geben Sie den richtigen Pfad zu den lvm-Befehlen und df an.

Wenn Sie das xfs-Dateisystem verwenden, müssen Sie angeben

mysql diamant.jewel.com = NOPASSWD: / bin / mount -o -nouuid / dev / VolGroup00 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD : / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / VolGroup00 / LogVol00, NOPASSWD: / usr / sbin / lvremove -f / dev / VolGroup00 / zrm *

Bitte denken Sie auch daran, die folgenden Zeilen hinzuzufügen, damit für die kein Login-Shell erforderlich ist mysql Benutzer, um den Befehl sudo auszuführen:

Standardeinstellungen:% mysql! Requiretty Standardeinstellungen: mysql! Requiretty