Mattermost 서버 업그레이드
대부분의 경우 Mattermost 서버를 몇 분 내에 업그레이드할 수 있습니다. Mattermost 업그레이드를 처음 하시는 경우, 아래의 종합 업그레이드 가이드 를 읽어보시기를 권장합니다. 업그레이드 프로세스에 대한 빠른 개요가 필요한 경험 있는 시스템 관리자는 다음 4단계 체크리스트를 사용할 수 있습니다:
대부분의 경우 Mattermost 서버를 몇 분 내에 업그레이드할 수 있습니다. 그러나 설치 규모와 복잡성, 업그레이드할 버전에 따라 시간이 더 걸릴 수 있습니다.
Mattermost 업그레이드를 처음 하시는 경우, 아래의 종합 업그레이드 가이드 를 읽어보시기를 권장합니다. 업그레이드 프로세스에 익숙한 경험 있는 시스템 관리자의 경우, 빠른 시작 체크리스트 를 참조하세요.
빠른 시작#
업그레이드 프로세스에 대한 빠른 개요가 필요한 경험 있는 시스템 관리자는 다음 4단계 체크리스트를 사용할 수 있습니다:
- 진행하기 전에 데이터베이스와 애플리케이션을 포함한 시스템의 전체 백업이 있는지 확인하세요.
- 시스템 요구사항: 서버와 PostgreSQL 버전이 Mattermost 요구사항 을 충족하는지 확인하세요.
- 준비 단계
- 최신 서버 버전을 다운로드하세요.
- 새 파일을 임시 위치(
/tmp)에 압축 해제하세요. - 현재 Mattermost 디렉터리를 확인하세요(기본값:
/opt/mattermost). - 업그레이드 프로세스
- Mattermost 서비스 중지:
sudo systemctl stop mattermost - 이전 애플리케이션 파일 제거(config, data, logs, plugins 보존).
- 새 파일을 설치 디렉터리에 복사하세요.
- 파일 소유권 변경:
sudo chown -R mattermost:mattermost mattermost - 필요한 경우 낮은 포트 사용을 위한 capabilities 설정:
sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost - Mattermost 서비스 시작:
sudo systemctl start mattermost - 임시 업그레이드 파일 제거.
자세한 지침 및 추가 고려사항은 아래의 전체 업그레이드 가이드를 참조하세요.
Kubernetes에서 고가용성 및 Active/Active 지원을 위해 배포를 안전하게 업그레이드하는 방법을 알아보려면 Kubernetes 및 고가용성 환경에서 Mattermost 업그레이드 문서를 참조하세요.
종합 업그레이드 가이드#
시작하기 전에#
처음부터 끝까지 이 지침을 주의 깊게 읽으세요.
Mattermost v11.0으로 업그레이드하기 전에: 현재 Bleve 검색(시스템 콘솔 > 실험적 > Bleve 아래에 있음)을 사용 중인 경우, 업그레이드 전에 DisableDatabaseSearch 가 false 로 설정되어 있는지 확인하세요. 그렇지 않으면 업그레이드 후 검색이 작동하지 않습니다. Bleve 검색은 v11.0에서 제거되었습니다. 엔터프라이즈 검색 기능을 위해 엔터프라이즈 검색 기능을 위한 Elasticsearch 또는 OpenSearch 로 마이그레이션하는 것을 고려하세요.
업그레이드 준비 방법을 이해하고, 모든 소프트웨어 및 하드웨어 요구사항 을 숙지하고, 중요 업그레이드 노트 를 읽고, Mattermost 업그레이드를 시작하기 전에 아래에 문서화된 업그레이드 프로세스의 각 단계를 이해했는지 확인하세요. 질문이나 우려 사항이 있으면 https://forum.mattermost.com/ 에서 Mattermost 포럼에 문의하세요.
업그레이드 시작 전 다음 정보를 수집하세요:
- 기존 설치 디렉터리 - {install-path}: Mattermost 서버가 설치된 위치를 모르는 경우,
whereis mattermost명령어를 사용하여 표준 바이너리 위치와 $PATH를 확인하세요. /opt/mattermost/bin이 PATH에 추가되지 않은 경우 이 명령어는 아무것도 반환하지 않습니다.- 또는
find / -executable -type f -iname mattermost 2> /dev/null명령어를 사용하여mattermost바이너리를 찾을 수 있습니다. - 출력은
/opt/mattermost/bin/mattermost와 유사해야 합니다. - 설치 디렉터리는 문자열
/mattermost의 첫 번째 발생 전의 모든 것입니다. 이 예에서{install-path}는/opt입니다. - 이 명령어가 결과를 생성하지 않는 경우, 버전이 이전 버전이기 때문일 수 있습니다. 대신
whereis platform을 시도해 보세요. - 로컬 스토리지 디렉터리의 위치와 크기: 로컬 스토리지 디렉터리에는 사용자가 메시지에 첨부한 모든 파일이 포함되어 있습니다.
- 위치를 모르는 경우, 시스템 콘솔을 열고 환경 > 파일 스토리지 로 이동하여 로컬 스토리지 디렉터리 의 값을 읽으세요.
- 경로는
mattermost디렉터리에 대한 상대 경로입니다. 예를 들어, 로컬 스토리지 디렉터리가./data/인 경우 절대 경로는{install-path}/mattermost/data입니다. - 데이터베이스 디스크 공간: 데이터베이스와 같은 서버에 Mattermost 배포를 업그레이드하는 경우, 압축 해제, 복사, 정리를 위한 최소 2GB의 여유 디스크 공간과 Mattermost 설치 크기의 최소 2배를 데이터베이스를 위해 사용할 수 있는 것이 좋습니다.
나중에 다운그레이드해야 할 경우 변경 사항을 되돌리기 쉽도록 업그레이드 시 mattermost db migrate --save-plan CLI 명령어를 사용하여 마이그레이션 계획을 생성하는 것을 고려해보세요. 이를 통해 데이터베이스에 적용될 변경 사항의 자세한 기록을 확보할 수 있습니다.
Mattermost 서버 업그레이드#
- Mattermost를 호스팅하는 서버의 터미널 창에서 홈 디렉터리로 이동하세요. 이전 다운로드에서 여전히 존재할 수 있는 파일과 디렉터리를 삭제하세요.
- Mattermost 에디션에 따라 최신 버전의 Mattermost 서버 를 다운로드하세요.
cd /tmp
다음 명령어에서 X.X.X 를 다운로드할 버전으로 교체하세요:
wget https://releases.mattermost.com/X.X.X/mattermost-X.X.X-linux-amd64.tar.gz
Team Edition
다음 명령어에서 ``X.X.X`` 를 다운로드할 버전으로 교체하세요:
wget https://releases.mattermost.com/X.X.X/mattermost-team-X.X.X-linux-amd64.tar.gz</code></pre>
<ol><li class="numbered"><code>/tmp</code> 디렉터리에 다른 Mattermost zip 폴더가 없는지 확인하세요. 다른 버전의 zip 파일이 있으면 파일을 삭제하거나 이름을 변경하세요.
ls -- mattermost*.gz
위에서 새 릴리즈 이외의 것이 반환되면 이 파일의 이름을 변경하거나 완전히 삭제하세요.
Mattermost 서버 파일의 압축을 해제하세요.
tar -xf mattermost*.gz --transform='s,^[^/]\+,\0-upgrade,'
``transform`` 옵션은 일반 설치 디렉터리와 충돌하지 않도록 최상위 추출 디렉터리에 접미사를 추가합니다.
Mattermost 서버를 중지하세요.
sudo systemctl stop mattermost
데이터와 애플리케이션을 백업하세요. 업그레이드를 계속하기 전에 데이터베이스를 제대로 백업했는지 확인하세요. 예상치 못한 오류가 발생한 경우 이전 데이터베이스 스냅샷을 로드할 수 있어야 합니다.
a. 조직의 표준 데이터베이스 백업 절차를 사용하여 데이터베이스를 백업하세요.
b. 아카이브 폴더에 복사하여 애플리케이션을 백업하세요(예: mattermost-back-YYYY-MM-DD-HH-mm).
cd {install-path}
sudo cp -ra mattermost/ mattermost-back-$(date +'%F-%H-%M')/
현재 mattermost 디렉터리 내에서 data 및 사용자 정의 디렉터리를 제외한 모든 파일을 제거하세요. 다음 명령어를 실행하기 전에 아래의 중요 참고사항을 읽어보시기를 강력히 권장합니다.
sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort | sudo xargs rm -r
Important기본적으로 업그레이드 시 다음 하위 디렉터리가 보존됩니다: ``config``, ``logs``, ``plugins``, ``client/plugins``, ``data``. 사용자 정의 디렉터리 및 Mattermost에 추가한 다른 디렉터리는 기본적으로 보존되지 않습니다. 일반적으로 TLS 키 또는 다른 사용자 정의 정보이지만, ``data`` 이외의 로컬 스토리지에 구성된 다른 디렉터리나 첨부 파일 저장에 사용되는 사용자 정의 디렉터리도 포함될 수 있습니다.
업그레이드를 계속하기 전에 다음 사항을 강력히 권장합니다:
a. Mattermost 설치 디렉터리에서 ``ls`` 를 실행하여 업그레이드 전에 존재하는 모든 기본 폴더를 확인하세요.
기본 Mattermost 설치에는 다음 파일과 디렉터리가 있습니다:
$ ls /opt/mattermost
ENTERPRISE-EDITION-LICENSE.txt README.md client data i18n manifest.txt prepackaged_plugins
NOTICE.txt bin config fonts logs plugins templates
b. ``sudo xargs rm -r`` 를 생략한 다음 명령어를 실행하여 ``mattermost`` 폴더의 내용을 삭제하고 지정된 디렉터리와 내용만 보존하는 드라이 런을 수행하세요:
sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort
c. ``/opt/mattermost`` 폴더 내에 TLSCert/TLSKey 파일이나 다른 정보를 저장하는 경우, 백업에서 새 설치로 TLSCert/TLSKey 파일을 수동으로 복사하지 않아도 되도록 위 명령어에 ``-o -path mattermost/yourFolderHere`` 를 추가해야 합니다.sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data -o -path mattermost/yourFolderHere \) -prune \) | sort
d. <a href="/docs/mattermost/configure/bleve-search/" class="doc-ref">Bleve 검색</a> 을 사용 중이고 디렉터리가 ``mattermost`` 디렉터리 *내부에* 있는 경우, 위 명령어를 사용하면 인덱스 디렉터리 경로가 보존되지 않습니다.
- 업그레이드 전에 bleve 인덱스 디렉터리를 ``mattermost`` 디렉터리 밖으로 이동하거나, 업그레이드 후에 ``backup`` 디렉터리에서 bleve 인덱스 디렉터리의 내용을 복사할 수 있습니다.
- 그런 다음 해당 디렉터리를 저장하거나 원하는 대로 다시 인덱싱할 수 있습니다.
- bleve 인덱스는 재인덱싱 없이 Mattermost 버전 간에 마이그레이션할 수 있습니다. bleve 인덱스 디렉터리 구성에 대한 자세한 내용은 <a href="/docs/mattermost/configure/deprecated-configuration-settings/#bleve-settings" class="doc-ref">구성 설정</a> 문서를 참조하세요.
위의 모든 단계를 완료한 후(해당하는 경우), 파일을 삭제하는 ``xargs rm -r`` 을 포함한 전체 명령어를 실행할 준비가 된 것입니다. 다음 예에는 ``-o -path mattermost/yourFolderHere`` 가 포함됩니다:sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data -o -path mattermost/yourFolderHere \) -prune \) | sort | sudo xargs rm -r</code></pre>
<li class="numbered">새 파일을 설치 디렉터리에 복사하세요.
sudo cp -an /tmp/mattermost-upgrade/. mattermost/
Note``n`` (no-clobber) 플래그와 소스의 뒤에 오는 ``.`` 는 매우 중요합니다. ``n`` (no-clobber) 플래그는 설치 경로의 기존 구성과 로그를 보존합니다. 소스의 뒤에 오는 ``.`` 는 모든 설치 파일이 복사되도록 합니다.
파일을 복사한 후 새 파일의 소유권을 변경하세요. 예:
sudo chown -R mattermost:mattermost mattermost
Note- 설치 디렉터리의 소유자 및 그룹으로 ``mattermost`` 를 사용하지 않은 경우, ``sudo chown -hR {owner}:{group} {install-path}/mattermost`` 를 실행하세요.
- 소유자 또는 그룹이 정의된 것이 불확실한 경우, ``ls -l {install-path}/mattermost/bin/mattermost`` 명령어를 사용하여 확인하세요.
80 또는 443 포트를 사용하여 서버를 제공하려는 경우 및/또는 Mattermost 서버에 TLS가 설정되어 있는 경우, 새 Mattermost 바이너리가 1024보다 낮은 포트에 바인딩할 수 있도록 CAP_NET_BIND_SERVICE capability를 활성화해야 합니다. 예:
sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
Mattermost 서버를 시작하세요.
sudo systemctl start mattermost
임시 파일을 제거하세요.
sudo rm -r /tmp/mattermost-upgrade/
sudo rm -i /tmp/mattermost*.gz
고가용성 배포를 사용하는 경우, 클러스터의 모든 노드에 위 단계를 적용해야 합니다. 완료되면 시스템 콘솔의 고가용성 섹션에 있는 Config File MD5 열이 녹색으로 표시되어야 합니다. 노란색으로 표시되는 경우, 모든 노드가 동일한 서버 버전과 동일한 구성을 가지고 있는지 확인하세요.
계속 노란색으로 표시되는 경우, 시스템 콘솔을 열고 설정을 변경했다가 되돌리면 클러스터 전체에 구성 전파를 트리거할 수 있습니다. 그러면 해당 페이지의 저장 버튼이 활성화됩니다. 저장 을 선택하세요. 이는 구성을 변경하지 않지만 기존 구성을 클러스터의 모든 노드로 보냅니다.
서버 업그레이드 후 사용자는 새 기능을 경험하기 위해 브라우저를 새로 고침해야 할 수 있습니다.
Team Edition에서 Enterprise Edition으로 업그레이드#
Team Edition에서 Enterprise Edition으로 업그레이드하려면, 2단계에서 Mattermost 서버의 Enterprise Edition을 다운로드하는지 확인하면서 위에 제공된 일반 업그레이드 지침을 따르세요.
라이선스 키 업로드#
Enterprise Edition이 실행 중이면 시스템 콘솔 > 정보 > 에디션 및 라이선스 를 열고 라이선스 키를 업로드하세요.
