InfoGrab Docs

GitLab Omnibus에서 독립형 Mattermost로 마이그레이션

요약

GitLab은 GitLab 19.0에서 GitLab Omnibus 패키지에서 Mattermost 폐기 를 발표했습니다. 지속성과 장기 지원을 보장하기 위해 GitLab Omnibus 내에서 Mattermost를 사용하는 조직은 독립형 Mattermost 설치 로 마이그레이션을 계획해야 합니다.

개요#

GitLab은 GitLab 19.0에서 GitLab Omnibus 패키지에서 Mattermost 폐기 를 발표했습니다. 이 전환의 일환으로 GitLab은 최종 제거 날짜까지 Omnibus 설치 내에서 Mattermost v10.11 ESR까지 계속 지원합니다.

지속성과 장기 지원을 보장하기 위해 GitLab Omnibus 내에서 Mattermost를 사용하는 조직은 독립형 Mattermost 설치 로 마이그레이션을 계획해야 합니다. 이 방식은 GitLab의 릴리스 주기와 독립적으로 최신 Mattermost 릴리스, 보안 업데이트 및 엔터프라이즈 기능에 지속적으로 접근할 수 있게 합니다.

독립형 배포로 마이그레이션하면 인프라 관리, PostgreSQL 업그레이드 및 성능과 컴플라이언스 요구 사항을 충족하기 위한 Mattermost 독립적 확장에 있어 더 큰 유연성도 제공됩니다.

사전 요구 사항#

시작하기 전에:

  • GitLab Omnibus 서버에 대한 관리자(root 또는 sudo) 접근 권한.
  • 준비되고 접근 가능한 새 독립형 PostgreSQL 서버.
  • Mattermost 데이터베이스 덤프를 위한 충분한 디스크 공간.
  • Mattermost 다운타임이 필요하므로 계획된 유지 관리 창.
  • 데이터베이스 및 파일 스토리지를 포함한 Mattermost 인스턴스의 최신 전체 백업.

마이그레이션 단계#

GitLab Omnibus에서 독립형 Mattermost 설치로 안전하게 마이그레이션하려면 아래 단계를 따르세요.

Note

다음 절차는 Mattermost 데이터베이스 이름이 mattermost_production 이고 PostgreSQL 사용자가 mmuser 임을 가정합니다. 환경에 맞게 조정하세요.

1단계: GitLab Omnibus에서 데이터베이스 덤프 생성#

GitLab Omnibus PostgreSQL 도구를 사용하여 Mattermost 데이터베이스의 덤프를 생성합니다.

GitLab 서버에서 이 명령을 실행합니다:

sudo gitlab-psql -- /opt/gitlab/embedded/bin/pg_dump -h /var/opt/gitlab/postgresql --no-owner mattermost_production | gzip > mattermost_dbdump_$(date --rfc-3339=date).sql.gz

이렇게 하면 Mattermost 데이터베이스의 압축된 SQL 덤프 파일이 생성됩니다.

2단계: 새 PostgreSQL 서버 준비#

공식 Mattermost 데이터베이스 준비 가이드라인 에 따라 새 PostgreSQL 서버를 설정합니다. 여기에는 다음이 포함됩니다:

  • Mattermost 서버에서 지원하는 올바른 PostgreSQL 버전 설치.
  • 적절한 권한을 가진 새 Mattermost 데이터베이스 및 사용자 생성.

3단계: 데이터베이스 덤프 전송 및 복원#

데이터베이스 덤프 파일을 새 PostgreSQL 서버로 전송한 후 복원합니다:

zcat /tmp/mattermost_dbdump.sql.gz | psql -U mmuser -d mattermost

데이터베이스 복원이 오류 없이 성공적으로 완료되는지 확인합니다.

4단계: Mattermost 구성 업데이트#

독립형 Mattermost 서버에서 새 PostgreSQL 서버를 가리키도록 config.json 파일을 업데이트합니다.

SqlSettings.DataSource 매개변수를 찾아 다음과 같이 업데이트합니다:

"SqlSettings": {
    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:password@new-postgres-server:5432/mattermost?sslmode=disable&connect_timeout=10"
}

자격 증명, 호스트 이름 및 연결 설정이 새 PostgreSQL 구성과 일치하는지 확인합니다.

5단계: Mattermost 애플리케이션 및 데이터 마이그레이션#

GitLab 서버에서 새 독립형 서버로 Mattermost 애플리케이션 파일을 이전하려면:

  1. 새 서버에 동일하거나 최신 버전 의 Mattermost를 설치합니다. 서버 배포 계획 을 참조하세요.
  2. GitLab Omnibus 인스턴스에서 기존 구성 및 데이터를 복사 합니다:
  3. # GitLab 서버에서
    sudo cp /var/opt/gitlab/mattermost/config/config.json /tmp/
    sudo cp -r /var/opt/gitlab/mattermost/data /tmp/mattermost_data
    
    # 새 Mattermost 서버로 전송
    scp /tmp/config.json mattermost@new-server:/opt/mattermost/config/
    scp -r /tmp/mattermost_data mattermost@new-server:/opt/mattermost/data/
  4. 새 서버에서 권한이 올바르게 설정되어 있는지 확인합니다:
sudo chown -R mattermost:mattermost /opt/mattermost

6단계: Mattermost 시작#

새 독립형 설치에서 Mattermost 서비스를 시작합니다:

sudo systemctl start mattermost

이제 Mattermost가 독립형 PostgreSQL 데이터베이스에 연결됩니다.

7단계: 마이그레이션 확인#

Mattermost를 시작한 후 다음 확인 작업을 수행합니다:

  • 데이터베이스 연결 오류 없이 Mattermost가 성공적으로 시작되는지 확인합니다.
  • 시작 또는 연결 문제에 대해 서버 로그를 검토합니다.
  • Mattermost에 로그인하여 모든 팀, 채널 및 사용자가 있는지 확인합니다.
  • 테스트 메시지를 게시하고 파일을 업로드하여 기능을 확인합니다.
  • 사용자 인증 및 권한을 검증합니다.
  • 데이터베이스 쿼리가 새 PostgreSQL 서버로 전달되는지 확인합니다.

중요 고려 사항#

  • 마이그레이션 전에 항상 Mattermost 데이터베이스의 전체 백업 을 유지합니다.
  • 사용자 중단을 최소화하기 위해 유지 관리 창 을 예약합니다.
  • 마이그레이션 후 성능 및 모니터링 구성을 검증합니다.
  • 새 PostgreSQL 서버가 Mattermost의 보안 및 튜닝 모범 사례를 따르는지 확인합니다.

문제 해결#

마이그레이션 중에 오류가 발생하면:

  • 권한 또는 연결 문제에 대해 PostgreSQL 로그를 검토합니다.
  • Mattermost PostgreSQL 사용자가 복원된 데이터베이스에 대한 전체 접근 권한을 가지고 있는지 확인합니다.
  • config.json 파일에 올바른 데이터베이스 연결 문자열이 포함되어 있는지 확인합니다.
  • Mattermost 서비스를 재시작하고 자세한 오류 내용을 위해 mattermost.log 를 확인합니다.

GitLab Omnibus에서 독립형 Mattermost로 마이그레이션

원문 보기
요약

GitLab은 GitLab 19.0에서 GitLab Omnibus 패키지에서 Mattermost 폐기 를 발표했습니다. 지속성과 장기 지원을 보장하기 위해 GitLab Omnibus 내에서 Mattermost를 사용하는 조직은 독립형 Mattermost 설치 로 마이그레이션을 계획해야 합니다.

개요#

GitLab은 GitLab 19.0에서 GitLab Omnibus 패키지에서 Mattermost 폐기 를 발표했습니다. 이 전환의 일환으로 GitLab은 최종 제거 날짜까지 Omnibus 설치 내에서 Mattermost v10.11 ESR까지 계속 지원합니다.

지속성과 장기 지원을 보장하기 위해 GitLab Omnibus 내에서 Mattermost를 사용하는 조직은 독립형 Mattermost 설치 로 마이그레이션을 계획해야 합니다. 이 방식은 GitLab의 릴리스 주기와 독립적으로 최신 Mattermost 릴리스, 보안 업데이트 및 엔터프라이즈 기능에 지속적으로 접근할 수 있게 합니다.

독립형 배포로 마이그레이션하면 인프라 관리, PostgreSQL 업그레이드 및 성능과 컴플라이언스 요구 사항을 충족하기 위한 Mattermost 독립적 확장에 있어 더 큰 유연성도 제공됩니다.

사전 요구 사항#

시작하기 전에:

  • GitLab Omnibus 서버에 대한 관리자(root 또는 sudo) 접근 권한.
  • 준비되고 접근 가능한 새 독립형 PostgreSQL 서버.
  • Mattermost 데이터베이스 덤프를 위한 충분한 디스크 공간.
  • Mattermost 다운타임이 필요하므로 계획된 유지 관리 창.
  • 데이터베이스 및 파일 스토리지를 포함한 Mattermost 인스턴스의 최신 전체 백업.

마이그레이션 단계#

GitLab Omnibus에서 독립형 Mattermost 설치로 안전하게 마이그레이션하려면 아래 단계를 따르세요.

Note

다음 절차는 Mattermost 데이터베이스 이름이 mattermost_production 이고 PostgreSQL 사용자가 mmuser 임을 가정합니다. 환경에 맞게 조정하세요.

1단계: GitLab Omnibus에서 데이터베이스 덤프 생성#

GitLab Omnibus PostgreSQL 도구를 사용하여 Mattermost 데이터베이스의 덤프를 생성합니다.

GitLab 서버에서 이 명령을 실행합니다:

sudo gitlab-psql -- /opt/gitlab/embedded/bin/pg_dump -h /var/opt/gitlab/postgresql --no-owner mattermost_production | gzip > mattermost_dbdump_$(date --rfc-3339=date).sql.gz

이렇게 하면 Mattermost 데이터베이스의 압축된 SQL 덤프 파일이 생성됩니다.

2단계: 새 PostgreSQL 서버 준비#

공식 Mattermost 데이터베이스 준비 가이드라인 에 따라 새 PostgreSQL 서버를 설정합니다. 여기에는 다음이 포함됩니다:

  • Mattermost 서버에서 지원하는 올바른 PostgreSQL 버전 설치.
  • 적절한 권한을 가진 새 Mattermost 데이터베이스 및 사용자 생성.

3단계: 데이터베이스 덤프 전송 및 복원#

데이터베이스 덤프 파일을 새 PostgreSQL 서버로 전송한 후 복원합니다:

zcat /tmp/mattermost_dbdump.sql.gz | psql -U mmuser -d mattermost

데이터베이스 복원이 오류 없이 성공적으로 완료되는지 확인합니다.

4단계: Mattermost 구성 업데이트#

독립형 Mattermost 서버에서 새 PostgreSQL 서버를 가리키도록 config.json 파일을 업데이트합니다.

SqlSettings.DataSource 매개변수를 찾아 다음과 같이 업데이트합니다:

"SqlSettings": {
    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:password@new-postgres-server:5432/mattermost?sslmode=disable&connect_timeout=10"
}

자격 증명, 호스트 이름 및 연결 설정이 새 PostgreSQL 구성과 일치하는지 확인합니다.

5단계: Mattermost 애플리케이션 및 데이터 마이그레이션#

GitLab 서버에서 새 독립형 서버로 Mattermost 애플리케이션 파일을 이전하려면:

  1. 새 서버에 동일하거나 최신 버전 의 Mattermost를 설치합니다. 서버 배포 계획 을 참조하세요.
  2. GitLab Omnibus 인스턴스에서 기존 구성 및 데이터를 복사 합니다:
  3. # GitLab 서버에서
    sudo cp /var/opt/gitlab/mattermost/config/config.json /tmp/
    sudo cp -r /var/opt/gitlab/mattermost/data /tmp/mattermost_data
    
    # 새 Mattermost 서버로 전송
    scp /tmp/config.json mattermost@new-server:/opt/mattermost/config/
    scp -r /tmp/mattermost_data mattermost@new-server:/opt/mattermost/data/
  4. 새 서버에서 권한이 올바르게 설정되어 있는지 확인합니다:
sudo chown -R mattermost:mattermost /opt/mattermost

6단계: Mattermost 시작#

새 독립형 설치에서 Mattermost 서비스를 시작합니다:

sudo systemctl start mattermost

이제 Mattermost가 독립형 PostgreSQL 데이터베이스에 연결됩니다.

7단계: 마이그레이션 확인#

Mattermost를 시작한 후 다음 확인 작업을 수행합니다:

  • 데이터베이스 연결 오류 없이 Mattermost가 성공적으로 시작되는지 확인합니다.
  • 시작 또는 연결 문제에 대해 서버 로그를 검토합니다.
  • Mattermost에 로그인하여 모든 팀, 채널 및 사용자가 있는지 확인합니다.
  • 테스트 메시지를 게시하고 파일을 업로드하여 기능을 확인합니다.
  • 사용자 인증 및 권한을 검증합니다.
  • 데이터베이스 쿼리가 새 PostgreSQL 서버로 전달되는지 확인합니다.

중요 고려 사항#

  • 마이그레이션 전에 항상 Mattermost 데이터베이스의 전체 백업 을 유지합니다.
  • 사용자 중단을 최소화하기 위해 유지 관리 창 을 예약합니다.
  • 마이그레이션 후 성능 및 모니터링 구성을 검증합니다.
  • 새 PostgreSQL 서버가 Mattermost의 보안 및 튜닝 모범 사례를 따르는지 확인합니다.

문제 해결#

마이그레이션 중에 오류가 발생하면:

  • 권한 또는 연결 문제에 대해 PostgreSQL 로그를 검토합니다.
  • Mattermost PostgreSQL 사용자가 복원된 데이터베이스에 대한 전체 접근 권한을 가지고 있는지 확인합니다.
  • config.json 파일에 올바른 데이터베이스 연결 문자열이 포함되어 있는지 확인합니다.
  • Mattermost 서비스를 재시작하고 자세한 오류 내용을 위해 mattermost.log 를 확인합니다.