/home/foo/data/database
현재 데이터 디렉터리로 MySQL을 사용하고 있습니다 . /home/foo/data/database
탑재된 RAID 1 어레이 로 . 내가 겪고 있는 문제는 시작할 때마다 RAID 어레이가 마운트되기 전에 MySQL이 시작되므로 /home/foo/data/database
MySQL은 /home/foo/data/database
마운트된 RAID 어레이 대신 루트 드라이브의 데이터 디렉토리를 사용한다는 것입니다. RAID 어레이 상태, 마운트된 파티션, MySQL을 살펴보니 모든 것이 괜찮아 보였기 때문에 이로 인해 문제가 발생했습니다. 모든 데이터가 RAID 배열에 있기 때문에 MySQL 데이터베이스가 비어 있다는 점을 제외하면.
MySQL이 RAID 어레이 대신 루트 드라이브 경로를 사용하고 있는지 확인하는 방법이 있습니까? 이렇게 하면 최소한 이 문제가 발생하는지 알 수 있으므로 MySQL을 다시 시작하여 문제를 해결할 수 있습니다.
foo@foo:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 110.6M 1 loop /snap/core/12834
loop1 7:1 0 27.8M 1 loop /snap/wifi-ap/355
sda 8:0 0 465.8G 0 disk
└─md0 9:0 0 465.7G 0 raid1 /home/foo/data/database
sdb 8:16 0 465.8G 0 disk
└─md0 9:0 0 465.7G 0 raid1 /home/foo/data/database
sdc 8:32 0 59.6G 0 disk
└─sdc3 8:35 0 59.6G 0 part
├─foo_vg-root 253:0 0 16.2G 0 lvm /
├─foo_vg-data 253:1 0 42.5G 0 lvm /home/foo/data
└─foo_vg-swap 253:2 0 1G 0 lvm [SWAP]
foo@foo:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/foo-root / ext4 errors=remount-ro 0 1
/dev/mapper/foo_vg-data /home/foo/data ext4 defaults 0 0
/dev/mapper/foo_vg-swap none swap sw 0 0
/dev/md0 /home/foo/data/database ext4 defaults,nofail,discard 0 0
답변1
포함하도록 systemd 시작 스크립트를 편집할 수 있어야 합니다.
After home-foo-data-database.mount
[서비스] 섹션에서. 파일을 생성할 수도 있습니다.
/etc/systemd/system/mysql.service.d/override.conf
원본 서비스 파일을 건드리지 않고 조건을 추가합니다. 서비스 이름이 지정되었다고 가정합니다.mysql
자신만의 시작 스크립트를 작성하는 경우 사용할 수 있는 다른 옵션이 있습니다. mountpoint /home/foo/data/database
파일 시스템이 마운트되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 마운트 지점을 테스트하고 종료하거나 true가 반환될 때까지 반복합니다.