현상 

Quorum 상태가 Online 으로 수정이 되지 않고 Fail로 유지

원인

쿼럼 서버 장비가 다운되거나 통신이 되지 않는 경우 발생 할 수 있음

수정

Fail 상태로 유지되는 쿼럼의 경우 일반적인 방법의 삭제(우 클릭 후 Remove)가 되지 않는 경우가 많음

이 경우 쿼럼 설정 창에서 쿼럼을 제거하고 다시 구성 진행

 

Failover Cluster Manager -> More Actions -> Configure Cluster Quorum Settings ...

3번째 매뉴의 'Select Quorum Witness'에서 'Do not configure a quorum witness'를 선택하여 쿼럼 삭제 후 재구성

현상

권한 부여 및 DB 복원시 실행이 되지 않고 에러 발생

 

원인

실행 계정에 SYSTEM_USER 권한 부재

복원하는 DB의 procedure가 있는경우, definer로 설정되지 않은 계정으로 복원 시도

 

에러 문구

ERROR 1227 (42000) at line 375: Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

 

해결

복원하는 DB의 procedure definer 이슈인 경우, definer로 설정된 계정으로 DB 복원(procedure 생성) 진행

// system_user 권한 추가 형태

[linux]# mysql -u admin_user -p -P 3306 TestDB < TestDB.sql
ERROR 1227 (42000) at line 375: Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

mysql> show grants for 'admin_user'@'localhost';
+---------------------------------------------------------------------------------------------
| Grants for admin_user@localhost
+---------------------------------------------------------------------------------------------
| GRANT ALL PRIVILEGES ON *.* TO `admin_user`@`localhost` WITH GRANT OPTION
+---------------------------------------------------------------------------------------------
1 rows in set (0.00 sec)

mysql> grant system_user on *.* to 'admin_user'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show grants for 'admin_user'@'localhost';
+---------------------------------------------------------------------------------------------
| Grants for admin_user@localhost
+---------------------------------------------------------------------------------------------
| GRANT ALL PRIVILEGES ON *.* TO `admin_user`@`localhost` WITH GRANT OPTION
| GRANT SYSTEM_USER ON *.* TO `admin_user`@`localhost`
+---------------------------------------------------------------------------------------------
2 rows in set (0.00 sec)


[linux]# mysql -u admin_user -p -P 3306 TestDB < TestDB.sql
[linux]#

 

참고

https://dev.mysql.com/blog-archive/the-system_user-dynamic-privilege/

내용

mysql 재기동이 되지 않는 상황

 

원인

btrfs 파일시스템 메타데이타 100%으로, 실 사용률 50% 이하 임에도 불구하고 100% 사용률로 인한 mysql error 발생

 

btrfs ?

Btrfs(B-tree file system 또는 Butter file system)는 데이터 관리 및 안정성을 강화한 최신 파일시스템이며 페이스북의 크리스 메이슨이 개발을 지휘하여 2013년 이후 안정화되어 사용

btrfs vs ext4

Btrfs 장점

실시간 오류 정정 기능과 스냅샷을 이용하여 볼륨 복원이 가능하여 장애 복원성이 좋습니다.

또한 압축 기능 제공과 SSD 드라이브에 최적화되어 있어 일부 실험에서는 압축+SSD 조합을 통해 EXT4 보다 4배 이상의 성능을 보여주는 탁월한 읽기/쓰기 성능을 제공합니다.

 

Btrfs 단점

장점이던 스냅샷이 이번에는 단점입니다. ^^

스냅샷 이미지의 저장을 위해 디스크 공간을 추가로 사용하며 스냅샷 용량 증가의 특성상 디스크 사용량 예측이 어려운 것이 단점입니다.

또한, 스냅샷 이미지 생성과 디스크 단편화 문제로 자동 조각 모음을 처리할 때 성능 저하가 발생할 수 있습니다

 

EXT4 장점

EXT1, EXT2, EXT3을 거쳐 발전한 EXT4는 데스크톱과 워크스테이션 등에서 오랫동안 성능을 검증 받았습니다. 또한 Btrfs보다 범용적인 파일시스템으로 호환성이 좋고 다른 파일시스템보다 CPU 사용율이 낮습니다.

 

EXT4 단점

디스크 블록 지연 할당에 의한 데이터 유실 가능성이 있습니다. EXT4는 성능 향상을 위해 데이터를 디스크에 즉시 기록하지 않는데 이런 EXT4의 특성으로 데이터를 디스크에 기록하기 전에 발생하는 시스템 충돌이나 전원 문제로 데이터 유실 가능성이 있습니다. 물론 이런 문제에 대비하여 저널링 기능이 있어 복구할 수 있고 OS 레벨에서도 보정하지만 이런 동작은 성능을 저하시키고 문제 발생 가능성에 대비를 해야하는 등 운영자를 고민하게 만듭니다.

 

해결

btrfs rebalancing

// 용량 확인
# df -h
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/sda4_crypt   38G   12G   13M 100% /

// btrfs filesystem 확인
# btrfs filesystem df /
Data, single: total=9.47GiB, used=9.46GiB
System, DUP: total=8.00MiB, used=16.00KiB
System, single: total=4.00MiB, used=0.00
Metadata, DUP: total=13.88GiB, used=1.13GiB
Metadata, single: total=8.00MiB, used=0.00

// btrfs rebalancing
btrfs balance start -m /mountpoint
btrfs balance start -m /mnt

$ sudo df -h /
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/sda4_crypt   38G   12G   26G  31% /

 

참고

https://askubuntu.com/questions/464074/ubuntu-thinks-btrfs-disk-is-full-but-its-not
https://www.ihee.com/144 [희야의 소소한 일상]


to Top