레이블이 migration인 게시물을 표시합니다. 모든 게시물 표시
레이블이 migration인 게시물을 표시합니다. 모든 게시물 표시

2021년 맥북 교체

2021년 맥북 교체(2021년인데 2019년 모델 받은게 좀 아쉬움)

[macbook]
MacBook Pro (16-inch, 2019)
2.4 GHz 8-Core Intel Core i9
sysctl -a | grep cpu.brand_string
machdep.cpu.brand_string: Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
32 GB 2667 MHz DDR4
500 GB NVME
AMD Radeon Pro 5300M 4 GB
Intel UHD Graphics 630 1536 MB

기존 맥북 보다 스펙이 좋아진것도 있지만 개인적으로는 키보드가 버터플라이(butterfly)방식 대신 예전 가위(sissor)방식으로 돌아가서 좋다.
납작한 버터플라이 방식의 키보드는 고장도 잘나고 키감이 너무 안좋았다.



그동안 맥북 교체시마다 개인 환경 구성 스크립트(설치 및 설정 자동 구성)사용했는데,
이번에는 맥북 마이그레이션 지원(migration assistant)을 사용했다.
와이파이를 통해 마이그레이션 완료까지 대략 1시간 정도 걸렸다.



개인 환경 구성 스크립트에 비해
장점 : 기타 프로젝트 폴더나 문서폴더등 모든것을 한번에 마이그레이션 할 수 있어 편하다.
단점 : 10시간,5시간,1시간,10분등 남은 시간 표시는 왔다 갔다 해 믿을게 못된다. 시간이 더 걸린다.

참고 기존 맥북 초기화
전원켜고 바로 cmd+r 을 길게 누르고 디스크유틸리 실행, 여기서 볼륨삭제 후 종료
전원켜고 바로 cmd+r 을 길게 누르고 macOS다시설치 실행

couchbase migration

# couchbase cli tool 로 couchbase -> couchbase migration
# 로컬(mac 기준) couchbase 앱 설치
# 6.0 에는 cbxxx 툴이 없다.
# 6.0 실행후 6.5 로 업데이트해야 툴이 생긴다.
brew cask install couchbase-server-community

# cli 툴 위치로 이동
cd '/Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin'


#####


# bucket 이동(자세한 설명은 ./cbtransfer -h 참고)
# destination 에 dest_bucket1 버킷을 생성해둬야 한다.
./cbtransfer http://ysoftman-cb1:8091 http://ysoftman-cb2:8091 -u ysoftman -p password -b src_bucket1 -B dest_bucket1

# 로컬에 백업 받아 이동하기
# /Users/ysoftman/workspace/zzz 디렉토리를 생성해둬야 한다.
./cbtransfer http://ysoftman-cb1:8091/ couchstore-files:////Users/ysoftman/workspace/zzz -u ysoftman -p password -b src_bucket1 -B dest_bucket1

./cbtransfer couchstore-files:////Users/ysoftman/workspace/zzz http://ysoftman-cb2:8091/ -u ysoftman -p password -b src_bucket1 -B dest_bucket1

# 만약 local -> ysoftman-cb2 바로 접근이 되지 않는 상황이라면
# (ysoftman-cb2:11210 포트로 접근이 되어야 한다.)
# ysoftman-cb2 장비에 백업 파일을 올리고
rsync -avz ./zzz/ ysoftman@ysoftman-cb2:~/zzz

# ysoftman-cb2 장비에 접속해
ssh ysoftman@ysoftman-cb2

# 백업 파일을 ysoftman-cb2 로 올린다.
/opt/couchbase/bin/cbtransfer couchstore-files:////home/ysoftman/zzz http://ysoftman-cb2:8091/ -u ysoftman -p password -b src_bucket1 -B dest_bucket1


#####


# bucket 단위로 export/import
# cbexport(자세한 설명은 ./cbexport json -h 참고)
# document id 는 디폴트로 export 되지 않아
# --include-key 옵션으로 doc___id 필드에 document id 저장
# --include-key 를 사용하면 value {} 필드안에 값이 저장된다.
./cbexport json -c couchbase://ysoftman-cb1 -u ysoftman -p password -b bucket1 -o bucket1.json -f lines -t 4 --include-key doc___id

# cbimport(자세한 설명은 ./cbimport json -h 참고)
# 신규 cb 에 버킷이 존재해야 한다.
# doc___id 필드의 값을 document id 로 사용
./cbimport json -c couchbase://ysoftman-cb2 -u ysoftman -p password -b bucket1 -d file:///Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin/bucket1.json -f lines -t 4 -g %doc___id%

# 필드 삭제
# --include-key doc___id 를 사용시
# 다음과 같이 import 하기 때문에 필요시 doc___id, value 부분을 삭제해야 한다.
doc___id : "문서id"
value : {
문서내용
}

# 필드 쿼리를 위해 버킷1 에 대한 query 메뉴에서 인덱스 추가
create primary index `#primary` on `bucket1`

# 필드 제거 query
update bucket1 unset doc___id

# 필드 제거 확인 query
select * from bucket1