M1Mac에서 Multipass 비망록 사용
기계는 배우자마자 떨어진다
머신러닝 라이브러리를 사용하면 중간에'Killed'가 표시됩니다.그것은 가상 컴퓨터의 메모리가 부족하기 때문이다.
launch 명령을 사용하여 그림을 만들 때 지정한 CPU 수의 '-cpus', 지정한 메모리의' -mem ', 디스크 크기의' -disk '인자를 추가합니다.
% multipass launch \
--name 名前 \
--cpus 8 \
--mem 14G \
--disk 50G
주요 인스턴스 변경
Multippass에서 특정 실례를 시작하려면
multipass shell (名前)
로 기술해야 하지만 입력multipass shell
만 하면 시작할 수 있는 기본 실례의 기능이 있다.이 초기 인스턴스를 변경하려면 다음 명령을 실행합니다.
% multipass set client.primary-name=(インスタンス名)
마음대로 하면 디스크가 부족해...
그나저나 기본적으로 VM을 사용하면 중간에 부족할 수 있습니다.나도 그래.
M1Mac은 다음 버전의 환경입니다. 설치 주소를 많이 찾았습니다.
# multipassのバージョン
% multipass version
multipass 1.8.1+mac
multipassd 1.8.1+mac
# multupassのドライバ
% sudo multipass get local.driver
qemu
VM 이미지에 대한 자세한 내용은 다음 JSON에 기록됩니다.% sudo vim /var/root/Library/Application\ Support/multipassd/qemu/multipassd-vm-instances.json
CPU와 메모리의 분배를 바꾸려면 상술한 내용을 변경할 수 있지만 안타깝게도 디스크 공간에 관해서는 JSON만 바꾸면 안 된다.우선, 드라이버는qenu입니다.qemu를 설치하는 도구입니다.
% brew install qemu
그런 다음 qemu-img resize
를 사용하여 이미지 크기를 변경할 수 있습니다.다음은 이미지를 50G로 변경합니다.이미지 자체가 위의 JSON 파일의 file=XXX입니다.이렇게 써있어요.% sudo qemu-img resize xxx.img 50G
multippass 설정이나 그림이 있는지 여부
디스크 이미지와 같은 자세한 내용은 자세한 건 이쪽을 보세요.에 기록되어 있습니다.
% sudo tree /var/root/Library/Application\ Support/multipassd
/var/root/Library/Application\ Support/multipassd
├── certificates
│ ├── localhost.pem
│ └── localhost_key.pem
├── multipass-unique-id
├── multipassd-send-metrics.yaml
├── qemu
│ ├── multipassd-vm-instances.json
│ └── vault
│ ├── instances
│ │ └── primary
│ │ ├── cloud-init-config.iso
│ │ └── ubuntu-20.04-server-cloudimg-arm64.img
│ └── multipassd-instance-image-records.json
├── registered-certs
├── saved_metrics.json
└── ssh-keys
└── id_rsa
로그인할 수 없는 문제
일시적으로 사용하면
multipass shell
로그인할 수 없는 상태가 됩니다...이번에 드러난 오류는 다음과 같다.% multipass shell
shell failed: ssh failed to authenticate: 'Access denied for 'publickey'. Authentication that can continue: publickey,password'
지난번 설정에서 Ubuntu Desktop을 설정했기 때문에 Desktop 측에서 로그인함으로써 SSH의 비밀번호 인증을 유효하게 하고 SSH에서도 VM에 연결할 수 있다.SSH를 설정할 때 멀티패스의 기본 SSH 키를 실수로 덮어썼기 때문일 수 있습니다.어쨌든, Ubuntu Desktop을 설정하면 비밀번호로 로그인할 수 있고, 편집
/etc/ssh/sshd_config
, 미리 설정PasswordAuthentication yes
하면 안심할 수 있다.또 여기 아이수스.를 보면 VM을 만들 때 자신의 SSH 키를 미리 추가한다고 적혀 있어 편리하다.
$ multipass launch --cloud-init - <<EOF
ssh_authorized_keys:
- $(cat ~/.ssh/id_rsa.pub)
EOF
그래서 아래의 느낌으로 VM을 만들어 봤는데 괜찮은 것 같아요.ssh [email protected]
처럼 타이핑하여 SSH로 로그인할 수 있습니다.% multipass launch \
--name ubuntu \
--cpus 8 \
--mem 14G \
--disk 30G \
--cloud-init - <<EOF
ssh_authorized_keys:
- $(cat ~/.ssh/id_rsa.pub)
EOF
Ubuntu 내에서 reboot 하면 이상해요.
위에서 설명한 바와 같이
multipass 1.8.1+mac
환경이지만 multipass shell
로그인 후 부주의sudo reboot
Ubuntu를 다시 시작하면 VM과 원활하게 연결할 수 없습니다.일단 연결이 되지 않으면 SSH를 해도 아무것도 움직이지 않아 곤란하다.그래서 여러 가지를 확인해 봤는데 Mutipass의 과정이 왜 잘 안 풀리는 것 같았어요.따라서 Mac를 다시 시작하는 것 자체가 고칠 수 있습니다.
파괴를 반복하는 것이 올바른 사용법이다
또한 위에서 설명한 VM 제작 시
multipass launch --cloud-init
처럼 --cloud-init
옵션이 추가되었습니다.멀티패스의 편리함이다. 평소 사용하던 설정은 YAML 파일에 모두 적고 작업을 시작할 때 launch로 환경을 만들면 편리하다.OS의 환경 구축은 항상 상당히 번거롭기 때문에 서류에 모두 정리하면 매우 편리하다.위에서 설명한 바와 같이 VM이 고장난 경우에도 즉시 작업 환경을 복구할 수 있어 매우 편리합니다.
#cloud-config
repo_update: true
repo_upgrade: all
# インストールするパッケージ一覧
packages:
- nodejs
- npm
- git
# 最初に実行するコマンド一式
runcmd:
- cd /home/ubuntu && git clone ...
# 公開鍵をコピペしておく
ssh_authorized_keys:
- ここにSSHの公開鍵
위와 같이 "init.yaml"이라는 이름으로 저장하고 다음 명령으로 VM을 만듭니다.$ multipass launch --name test --cloud-init init.yaml
Reference
이 문제에 관하여(M1Mac에서 Multipass 비망록 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kujirahand/articles/57c367702ed1f2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)