스냅 샷에 대한 Sudoer 구성을 만드는 방법

LVM 스냅 샷을 사용할 때 / etc / sudoers 파일에 다음 항목이 필요합니다. "visudo"를 실행하여 / etc / sudoers 파일을 편집하고 다음 항목을 추가하여 MySQL은 사용자가 암호를 입력하지 않고 로그인 셸없이 필요한 명령을 실행하도록합니다.

mysql = NOPASSWD : / bin / mount, NOPASSWD : / bin / umount, NOPASSWD : / bin / df, NOPASSWD : / usr / sbin / lvdisplay, NOPASSWD : / usr / sbin / lvcreate, NOPASSWD : / usr / sbin / lvremove 기본값 : % mysql! requiretty 기본값 : mysql! requiretty

사용중인 Linux 배포에 따라 다를 수 있으므로 운영 체제에 따라 모든 lvmtools에 대한 적절한 경로를 대체해야합니다.

회사에 더 엄격한 정책이있는 경우 sudoers 파일을 미세 조정할 수 있습니다. 예를 들어 보겠습니다.

MySQL 서버 인 diamond.jewel.com에 VolGroup3, vg00 및 vg1 볼륨 그룹 2 개와 LogVol00, lv1 및 lv2 논리 볼륨이 각각 하나씩 존재한다고 가정 해 보겠습니다. Logvol00에는 mysql datadir이 있고 lv1에는 innodb 데이터베이스가 있고 lv2에는 innodb 로그가 있습니다.
 

마운트 된 사용 가능한 사용률 (%)
/ dev / mapper / VolGroup00-LogVol00
7459216 3040728 4033464 43 % /
/ dev / sda1 101086 10895 84972 12 % / 부팅
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


/etc/my.cnf의 내용은 다음과 같습니다.

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


sudoer 파일 구성은 위의 예에 대해 다음 줄을 포함해야하며 볼륨 그룹이 하나만있는 경우 한 줄만 있으면됩니다.

mysql diamond.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 diamond.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 diamond.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 *


참고 : lvm 명령 및 df에 올바른 경로를 제공하십시오.

xfs 파일 시스템을 사용하는 경우 다음을 지정해야합니다.

mysql diamond.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 *

또한 로그인 쉘이 필요하지 않도록 다음 행을 추가하십시오. MySQL은 사용자가 sudo 명령을 실행합니다.

기본값 : % mysql! requiretty 기본값 : mysql! requiretty