MacBook Pro 2016 + proxmox

MacBook Pro 2016 + proxmox
여기 오래된 맥북 프로가 있습니다. 무려 10년이 되었지요. 그리고 배터리는 부풀어 올라, 하판이 휘어가고 있습니다.

와이프가 오래전부터 사용하고 있던 맥북프로, 2016년 형이 슬슬 수명을 다해가고 있었다. 다행스럽게도 거의 데스크탑처럼 집에서 전원을 연결해 사용하고 있었기에 나는 생각했다. 배터리 빼버리지 뭐.

그리고는 쓰로틀링 지옥에 빠지게 되었다.

맥북프로 2016년 형의 경우, 배터리가 없으면 계속 쓰로틀링이 걸린 상태에서 동작하게 된다. 코어는 800Mhz 고정되니 로그인도 세월아 네월아 하면서 기다려야 하는 상황이 되어버려 나는 결국 극단의 조치를 취하게 된다.

물론 다양한 해결 방법은 있다. 알리에서 배터리를 구매해서 설치하던가. 저항을 연결해서 마치 배터리가 있는것 처럼 만들던가... 등등 방법은 있지만... 누가 10년된 맥북프로에...

바로 새로운 맥북을 사면 된다

그럼 또 하나의 이슈가 발생한다. 그럼 맥북프로 2016년 형은 버려? 뭐 세월의 흔적도 있긴하지만 어쨌던 구입 당시 성능에 욕심을 냈던 와이프 덕(?)에 코어는 8개 메모리는 16기가 디스크는 500기가인데, 그냥 버리기에는 아까운 녀석이다.

마침, n100 기반에서 돌고 있던 proxmox에 가상화 머신이 점점 늘어가면서 한 대 더 구입해야 하던 찰나였으니...

맥북프로에 proxmox를 올려보자

라는 생각은 합당한 논리의 전개였다.

먼저 구입해야 할 것들이 있다.

1. 설치용 USB(16기가면 되지 않을까?)
2. USB 3.0 기가비트 랜카드(USB C Type 아니라 A Type이다.)
option. USB 3.0 허브

자, 그럼 USB에 balenaEtcher 나 dd를 이용하여 proxmox 부팅 USB를 만들어 주고, 그 다음에 부팅을 진행한다. 만들어진 USB를 연결하고 인텔 맥의 경우, alt키 (option 키)를 부팅되는 동안 눌러주면 디스크를 선택하는 창이 나온다. proxmox 설치 USB를 선택해준다. 이 때 주의해야 할 사항이 있다.

만약 USB 3.0 허브를 사용한다면 USB 3.0 허브에 설치용 USB와 USB 랜카드를 연결하면 된다. 

만약 USB 3.0 허브를 사용하지 않는다면 디스크 선택 창이 나왔을 때 USB 랜카드를 연결해준다.

위의 사항을 지키지 않으면 option키를 아무리 눌러도 디스크 선택에 진입할 수가 없다. 만약 허브를 사용하지 않는다면 디스크 선택 전에 USB 랜카드를 연결하고 설치를 진행하면 된다.

사실 proxmox 설치는 일반적인 사항이라 따로 설명할 것이 없다. 다만, 설치 후 몇 가지 설정해줄 것들이 있다.

모니터를 덮었을 때, 동작을 제한해줘야 한다. logind 설정 파일을 수정하여 해당 동작을 막을 수 있도록 아래 3줄을 추가해준다.

root@proxmox:~# vim /etc/systemd/logind.conf

...
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore

그리고 나와서 재시작 해준다.

root@proxmox:~# systemctl restart systemd-logind

그 다음은 CPU 성능을 제한해줄 차례이다. 만약 배터리가 살아있는 상태라면 무시해도 되겠지만 배터리가 없으면 아무래도 풀 성능을 당길 떄, 죽는 경우가 있다는 이야기가 있어서 성능을 제한해준다.

root@proxmox:~# echo 80 > /sys/devices/system/cpu/intel_pstate/max_perf_pct

위의 명령어면 OK이다만 재부팅하더라도 제한을 걸 수 있도록 systemd에 등록해서 실행되도록 해준다.

root@proxmox:~# vim /etc/systemd/system/cpu-limit.service
[Unit]
Description=Limit CPU max performance to 80% for stable power without battery
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo 80 > /sys/devices/system/cpu/intel_pstate/max_perf_pct'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

위와 같이 cpu-limit.service 파일을 만들어 주고 아래 명령어를 적용해준다.

root@proxmox:~# systemctl daemon-reload
root@proxmox:~# systemctl enable --now cpu-limit.service

이러고 나면 뭐... 일단은 설치는 일단락 된 것으로 보인다. 다만 팬 속도 조절이 안되는 경우가 있다고 했는데 나의 경우 처음 설치 직후에도 팬 조절은 잘되는 것으로 보였다. 그래도 혹시 모르니까... 조금 더 온도를 낮은 상태로 동작 시키기 위해 수정을 진행했다.

root@proxmox:~# apt install -y lm-sensors mbpfan

팬 속도를 세팅하기 전에 일단 팬의 최저, 최고 속도를 찾는다.

root@proxmox:~# cat /sys/devices/platform/applesmc.768/fan*_min
2160
2000

위의 명령어를 쓰면 숫자가 뜰 것이다. 아무것도 안뜬다면... 원인을 찾아야 하지만 보통은 뜰 것이다. 만약 하나가 뜬다면 팬이 하나라는 의미이고 두개가 뜬다면 팬이 두개라는 의미이다. 나의 경우 두개인 것을 확인했다.

root@proxmox:~# cat /sys/devices/platform/applesmc.768/fan*_max
6156
5700

최대 값도 동일하게 찾는다.

만약 팬이 하나라면 아래와 같이 설정해준다.

root@proxmox:~# vim /etc/mbpfan.conf
...
[general]
min_fan_speed = 2160
max_fan_speed = 5700

만약 나와 같이 팬이 두개라면 아래와 같이 설정해준다.

root@proxmox:~# vim /etc/mbpfan.conf
...
[general]
min_fan1_speed = 2160
max_fan1_speed = 6156
min_fan2_speed = 2000
max_fan2_speed = 5700

최저 팬 속도, 최고 팬 속도를 설정해줬으면 다음은 온도 임계값을 설정해야 한다. 일반적으로는

root@proxmox:~# vim /etc/mbpfan.conf
...
low_temp = 55
high_temp = 65
max_temp = 84
polling_interval = 2

설정을 한다고 하는데 온도가 올라갈때 조금 더 팬이 빨리 돌게하려고

root@proxmox:~# vim /etc/mbpfan.conf
...
low_temp = 55
high_temp = 60
max_temp = 80
polling_interval = 1

위와 같이 설정을 해주었다.

root@proxmox:~# systemctl enable --now mbpfan

그리고 재시작~ 그 다음은 모니터링을 진행한다. 먼저 센서들을 찾는 작업을 한다.

root@promox:~# sensors-detect

엄청 많은 질문이 뜰 것이다. 필요하다고 생각하는 센서들은 일단 다 스캔해두고 저장까지 하면 끝! 나의 경우 모두 YES를 눌렀다.

다음은 실제 상태를 보면서 팬 속도를 조절해주면 된다. 아래 명령어로 센서와 팬 속도를 모니터링 한다.

root@proxmox:~# watch -n2 sensors
매 2.0초:   sensors                        proxmox: Tue Jun  2 11:46:29 2026

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +58.0°C  (high = +84.0°C, crit = +100.0°C)
Core 0:        +57.0°C  (high = +84.0°C, crit = +100.0°C)
Core 1:        +57.0°C  (high = +84.0°C, crit = +100.0°C)
Core 2:        +56.0°C  (high = +84.0°C, crit = +100.0°C)
Core 3:        +59.0°C  (high = +84.0°C, crit = +100.0°C)

nouveau-pci-0100
Adapter: PCI adapter
GPU core:    850.00 mV (min =  +0.75 V, max =  +1.10 V)
temp1:        +53.0°C  (high = +95.0°C, hyst =  +3.0°C)
                       (crit = +105.0°C, hyst =  +5.0°C)
                       (emerg = +135.0°C, hyst =  +5.0°C)

applesmc-isa-0300
Adapter: ISA adapter
Left side  : 2844 RPM  (min = 2160 RPM, max = 6156 RPM)
Right side : 2673 RPM  (min = 2000 RPM, max = 5700 RPM)

그러면, 완료! 나는 기존의 Proxmox에 클러스터로 연결을 진행했다.

ceph도 설치해보려했지만... 3대 이상의 노드가 필요하다고 해서 포기. 현재까지는 정상작동 중이다. 아무래도 CPU 부하나 이런것 보다 메모리 부하가 높아서 항상 걱정이다.

아무튼... 재활용을 통한 노인(?)학대(?)는 계속된다. 조만간, 20년된 노트북도???

그럼 다음 시간에 ㅇㅅㅇ