mirror of
https://github.com/StepanovPlaton/AboutMe.git
synced 2026-07-28 19:35:51 +04:00
Compare commits
3 Commits
4f76ca5601
...
12ea6ad38c
| Author | SHA1 | Date | |
|---|---|---|---|
| 12ea6ad38c | |||
| 8b3b0285a2 | |||
| d1c196d03a |
Binary file not shown.
BIN
public/images/192.168.0.5_8006_.png
Normal file
BIN
public/images/192.168.0.5_8006_.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 129 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
title: Чем мне так понравился Proxmox и почему тебе тоже стоит его попробовать
|
||||||
|
published: 2026-04-09T14:10:00.000+04:00
|
||||||
|
cover: /images/192.168.0.5_8006_.png
|
||||||
|
tags:
|
||||||
|
- Linux
|
||||||
|
draft: false
|
||||||
|
---
|
||||||
|
|
||||||
|
При очередном обновлении домашнего сервера мне досталась машина с двумя Enthernet портами, поэтому после недолгих раздумий было решено заменить мой посредственный роутер от TP-Link и совместить в одном устройстве 2 функции - Gateway домашней сети и домашний сервер с полезными сервисами.
|
||||||
|
|
||||||
|
Я не большой специалист в сетевом оборудовании и софте, но обзорный диалог с Gemini показал, что самый интересный для меня вариант - это специализированная ОС, я выбрал [OPNsense](https://opnsense.org). Однако мне хотелось бы сохранить все настроенные сервисы, которые я запускал в Docker, а OPNsense был построен на базе BSD.\
|
||||||
|
\
|
||||||
|
Хочется и OPNsense с готовыми инструментами настройки сети, и Linux с его Docker, а ещё желательно чтобы можно было независимо это дело обновлять. Как говорится вообще нельзя, но если очень хочется - то можно!\
|
||||||
|
\
|
||||||
|
Не буду тут рассказывать как поставить [Proxmox](https://www.proxmox.com/), такая инструкция всё равно быстро устареет, а актуальный аналог всегда легко найдётся в интернете. Я лучше расскажу о плюсах лично для меня.
|
||||||
|
|
||||||
|
### Динамические мощности под каждую систему
|
||||||
|
|
||||||
|
У меня сейчас 2 виртуальные машины, и в момент их создания я лишь отдалённо понимал насколько мощный процессор и какой объём памяти им нужен. Но с Proxmox я могу менять их динамически между перезагрузками ОС. Так оказалось что OPNsense работает и на 512мб памяти, но для Web интерфейса очень нужно хотя бы 1Гб, а вот ядро можно оставить и одно. Для моей основной виртуальной машины Linux не хватило 4Гб оперативной памяти в пике - не проблема, два клика и уже их уже 6.
|
||||||
|
|
||||||
|
### Бекапы
|
||||||
|
|
||||||
|
Бекап виртуальной машины за 3 минуты и восстановление за секунды - это порадовало. Пока работаем без сбоев, но функция опробовала и заслуживает лайка
|
||||||
|
|
||||||
|
### Быстрый безголовый сервер в 2 клика
|
||||||
|
|
||||||
|
Отдельная крутая функция - LXC контейнер. Пока того как я освободил роутер было решено его перепрошить, нужен был TFTP-сервер. Запустил его в Proxmox за 1 минуту, сделал всё необходимое и просто удалил.
|
||||||
|
|
||||||
|
### И даже больше...
|
||||||
|
|
||||||
|
Сейчас у меня всего 1 сервер с Proxmox, а ведь на полную он раскрывается именно в кластере! Можно будет настраивать отказоустойчивость, распределённое сетевое файловое хранилище, перемещать ВМ с одного сервера на другой без остановки... звучит как магия.
|
||||||
|
|
||||||
|
Следующий эксперимент - поставить Windows внутрь Proxmox. Во-первых так одно физическое устройство можно поделить на два рабочих места, во-вторых рядом с рабочей виндой так же удобно запускать ВМ и LXC например под бекенд или базу данных.
|
||||||
|
|
||||||
|
### Вердикт
|
||||||
|
|
||||||
|
Всем рекомендую попробовать Proxmox на домашнем сервере, а сам буду изучать гипервизоры дальше, и может быть попробую ESXi
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
{
|
{
|
||||||
"sourceCode": "https://git.stepanovplaton.ru/StepanovPlaton/OSin1000Lines",
|
"sourceCode": "https://git.stepanovplaton.ru/StepanovPlaton/OSin1000Lines",
|
||||||
|
"endDate": "2026-02-15T08:00:00.000+04:00",
|
||||||
"featured": false,
|
"featured": false,
|
||||||
"startDate": "2026-02-03T08:00:00.000+04:00",
|
"startDate": "2026-02-03T08:00:00.000+04:00",
|
||||||
"techStack": [
|
"techStack": [
|
||||||
"C"
|
"C"
|
||||||
],
|
],
|
||||||
"status": "in-progress",
|
"status": "completed",
|
||||||
"title": "OSin1000Lines",
|
"title": "OSin1000Lines",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"description": "Операционная система для QEMU RISC-V в 1000 строк кода на С",
|
"description": "Операционная система для QEMU RISC-V в 1000 строк кода на С",
|
||||||
|
|||||||
@@ -1,194 +1,194 @@
|
|||||||
site:
|
site:
|
||||||
siteURL: "https://stepanovplaton.ru/"
|
siteURL: "https://stepanovplaton.ru/"
|
||||||
title: "Степанов Платон"
|
title: "Степанов Платон"
|
||||||
subtitle: ""
|
subtitle: ""
|
||||||
lang: "ru"
|
lang: "ru"
|
||||||
translate:
|
translate:
|
||||||
enable: false
|
enable: false
|
||||||
service: "client.edge"
|
service: "client.edge"
|
||||||
showSelectTag: false
|
showSelectTag: false
|
||||||
autoDiscriminate: true
|
autoDiscriminate: true
|
||||||
ignoreClasses:
|
ignoreClasses:
|
||||||
- "ignore"
|
- "ignore"
|
||||||
- "banner-title"
|
- "banner-title"
|
||||||
- "banner-subtitle"
|
- "banner-subtitle"
|
||||||
ignoreTags:
|
ignoreTags:
|
||||||
- "script"
|
- "script"
|
||||||
- "style"
|
- "style"
|
||||||
- "code"
|
- "code"
|
||||||
- "pre"
|
- "pre"
|
||||||
timeZone: 4
|
timeZone: 4
|
||||||
font:
|
font:
|
||||||
"Example - ZenMaruGothic":
|
"Example - ZenMaruGothic":
|
||||||
src: "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap"
|
src: "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap"
|
||||||
family: "Zen Maru Gothic"
|
family: "Zen Maru Gothic"
|
||||||
themeColor:
|
themeColor:
|
||||||
hue: 90
|
hue: 90
|
||||||
fixed: true
|
fixed: true
|
||||||
defaultTheme: "dark"
|
defaultTheme: "dark"
|
||||||
wallpaper:
|
wallpaper:
|
||||||
mode: "fullscreen"
|
mode: "fullscreen"
|
||||||
src:
|
src:
|
||||||
desktop:
|
desktop:
|
||||||
- "/assets/images/banner1.png"
|
- "/assets/images/banner1.png"
|
||||||
mobile:
|
mobile:
|
||||||
- "/assets/images/banner1.png"
|
- "/assets/images/banner1.png"
|
||||||
position: "center"
|
position: "center"
|
||||||
carousel:
|
carousel:
|
||||||
enable: false
|
enable: false
|
||||||
interval: 12
|
interval: 12
|
||||||
kenBurns: true
|
kenBurns: true
|
||||||
banner:
|
banner:
|
||||||
homeText:
|
homeText:
|
||||||
enable: true
|
|
||||||
title: "Степанов Платон"
|
|
||||||
subtitle:
|
|
||||||
- "Программный инженер, разработчик"
|
|
||||||
typewriter:
|
|
||||||
enable: true
|
|
||||||
speed: 111
|
|
||||||
deleteSpeed: 51
|
|
||||||
pauseTime: 3000
|
|
||||||
credit:
|
|
||||||
enable: false
|
|
||||||
text: "Describe"
|
|
||||||
url: ""
|
|
||||||
navbar:
|
|
||||||
transparentMode: "semifull"
|
|
||||||
waves:
|
|
||||||
enable: true
|
|
||||||
performanceMode: false
|
|
||||||
fullscreen:
|
|
||||||
zIndex: -1
|
|
||||||
opacity: 0.7
|
|
||||||
blur: 1
|
|
||||||
navbar:
|
|
||||||
transparentMode: "semi"
|
|
||||||
loadingOverlay:
|
|
||||||
enable: true
|
enable: true
|
||||||
title:
|
title: "Степанов Платон"
|
||||||
enable: true
|
subtitle:
|
||||||
content: "Загрузка..."
|
- "Программный инженер, разработчик"
|
||||||
interval: 1.5
|
typewriter:
|
||||||
spinner:
|
enable: true
|
||||||
enable: true
|
speed: 111
|
||||||
interval: 1.5
|
deleteSpeed: 51
|
||||||
favicon:
|
pauseTime: 3000
|
||||||
- src: "/favicon/favicon.ico"
|
credit:
|
||||||
theme: "light"
|
enable: false
|
||||||
sizes: "96x96"
|
text: "Describe"
|
||||||
- src: "/favicon/favicon.ico"
|
url: ""
|
||||||
theme: "dark"
|
navbar:
|
||||||
sizes: "96x96"
|
transparentMode: "semifull"
|
||||||
bangumi:
|
waves:
|
||||||
userId: "your-bangumi-id"
|
enable: true
|
||||||
generateOgImages: false
|
performanceMode: false
|
||||||
|
fullscreen:
|
||||||
|
zIndex: -1
|
||||||
|
opacity: 0.2
|
||||||
|
blur: 1
|
||||||
|
navbar:
|
||||||
|
transparentMode: "semi"
|
||||||
|
loadingOverlay:
|
||||||
|
enable: true
|
||||||
|
title:
|
||||||
|
enable: true
|
||||||
|
content: "Загрузка..."
|
||||||
|
interval: 1.5
|
||||||
|
spinner:
|
||||||
|
enable: true
|
||||||
|
interval: 1.5
|
||||||
|
favicon:
|
||||||
|
- src: "/favicon/favicon.ico"
|
||||||
|
theme: "light"
|
||||||
|
sizes: "96x96"
|
||||||
|
- src: "/favicon/favicon.ico"
|
||||||
|
theme: "dark"
|
||||||
|
sizes: "96x96"
|
||||||
|
bangumi:
|
||||||
|
userId: "your-bangumi-id"
|
||||||
|
generateOgImages: false
|
||||||
|
|
||||||
umami:
|
umami:
|
||||||
enabled: false
|
enabled: false
|
||||||
baseUrl: "https://api.umami.is"
|
baseUrl: "https://api.umami.is"
|
||||||
apiKey: ""
|
apiKey: ""
|
||||||
scripts: ""
|
scripts: ""
|
||||||
|
|
||||||
navbar:
|
navbar:
|
||||||
links:
|
links:
|
||||||
- "Projects"
|
- "Projects"
|
||||||
- "Skills"
|
- "Skills"
|
||||||
- "Timeline"
|
- "Timeline"
|
||||||
# - "Diary"
|
# - "Diary"
|
||||||
- "Albums"
|
- "Albums"
|
||||||
# - "Friends"
|
# - "Friends"
|
||||||
- "WorthMentioning"
|
- "WorthMentioning"
|
||||||
- "About"
|
- "About"
|
||||||
|
|
||||||
sidebar:
|
sidebar:
|
||||||
components:
|
components:
|
||||||
left:
|
left:
|
||||||
- type: "profile"
|
- type: "profile"
|
||||||
position: "top"
|
position: "top"
|
||||||
#-
|
#-
|
||||||
# type: "announcement"
|
# type: "announcement"
|
||||||
# position: "top"
|
# position: "top"
|
||||||
- type: "categories"
|
- type: "categories"
|
||||||
position: "sticky"
|
position: "sticky"
|
||||||
responsive:
|
responsive:
|
||||||
collapseThreshold: 5
|
collapseThreshold: 5
|
||||||
- type: "tags"
|
- type: "tags"
|
||||||
position: "sticky"
|
position: "sticky"
|
||||||
responsive:
|
responsive:
|
||||||
collapseThreshold: 20
|
collapseThreshold: 20
|
||||||
right:
|
right:
|
||||||
- type: "toc"
|
- type: "toc"
|
||||||
position: "sticky"
|
position: "sticky"
|
||||||
customProps:
|
customProps:
|
||||||
depth: 3
|
depth: 3
|
||||||
#- type: "statistics"
|
#- type: "statistics"
|
||||||
# position: "sticky"
|
# position: "sticky"
|
||||||
profile:
|
profile:
|
||||||
avatar: "/assets/images/avatar.jpg"
|
avatar: "/assets/images/avatar.jpg"
|
||||||
name: "Степанов Платон"
|
name: "Степанов Платон"
|
||||||
bio: "Приятно познакомиться!"
|
bio: "Приятно познакомиться!"
|
||||||
links:
|
links:
|
||||||
- name: "Git"
|
- name: "Git"
|
||||||
icon: "fa6-brands:git-alt"
|
icon: "fa6-brands:git-alt"
|
||||||
url: "https://git.stepanovplaton.ru"
|
url: "https://git.stepanovplaton.ru"
|
||||||
- name: "Telegram"
|
- name: "Telegram"
|
||||||
icon: "fa6-brands:telegram"
|
icon: "fa6-brands:telegram"
|
||||||
url: "https://t.me/StepanovPlaton"
|
url: "https://t.me/StepanovPlaton"
|
||||||
- name: "HeadHunter"
|
- name: "HeadHunter"
|
||||||
rawIcon: '<svg width="25" height="25" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M400 200C400 310.457 310.457 400 200 400C89.5431 400 0 310.457 0 200C0 89.5431 89.5431 0 200 0C310.457 0 400 89.5431 400 200ZM160.34 161.226C146.98 161.226 136.74 166.526 130.84 176.486V127.126H99.8802V262.406H130.84V214.846C130.84 203.766 133.16 196.666 136.64 192.486C140.02 188.326 144.76 186.706 149.9 186.706C154.44 186.706 158.02 188.126 160.54 190.686C163.06 193.346 164.5 197.406 164.5 203.086V262.286H195.46V197.126C195.46 186.046 192.18 177.046 185.98 170.786C179.88 164.546 171.08 161.226 160.34 161.226ZM299.58 170.886C293.38 164.626 284.58 161.226 273.84 161.226C260.48 161.226 250.24 166.526 244.34 176.486V127.126H213.38V262.406H244.34V214.846C244.34 203.766 246.66 196.666 250.14 192.486C253.52 188.326 258.26 186.706 263.4 186.706C267.94 186.706 271.52 188.126 274.04 190.686C276.56 193.346 278 197.406 278 203.086V262.286H308.96V197.126C308.98 186.046 305.68 177.046 299.58 170.886Z" fill="currentColor"/></svg>'
|
rawIcon: '<svg width="25" height="25" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M400 200C400 310.457 310.457 400 200 400C89.5431 400 0 310.457 0 200C0 89.5431 89.5431 0 200 0C310.457 0 400 89.5431 400 200ZM160.34 161.226C146.98 161.226 136.74 166.526 130.84 176.486V127.126H99.8802V262.406H130.84V214.846C130.84 203.766 133.16 196.666 136.64 192.486C140.02 188.326 144.76 186.706 149.9 186.706C154.44 186.706 158.02 188.126 160.54 190.686C163.06 193.346 164.5 197.406 164.5 203.086V262.286H195.46V197.126C195.46 186.046 192.18 177.046 185.98 170.786C179.88 164.546 171.08 161.226 160.34 161.226ZM299.58 170.886C293.38 164.626 284.58 161.226 273.84 161.226C260.48 161.226 250.24 166.526 244.34 176.486V127.126H213.38V262.406H244.34V214.846C244.34 203.766 246.66 196.666 250.14 192.486C253.52 188.326 258.26 186.706 263.4 186.706C267.94 186.706 271.52 188.126 274.04 190.686C276.56 193.346 278 197.406 278 203.086V262.286H308.96V197.126C308.98 186.046 305.68 177.046 299.58 170.886Z" fill="currentColor"/></svg>'
|
||||||
url: "/assets/Резюме_Степанов_Платон.pdf"
|
url: "/assets/Резюме_Степанов_Платон.pdf"
|
||||||
- name: "Email"
|
- name: "Email"
|
||||||
icon: "material-symbols:mail-outline"
|
icon: "material-symbols:mail-outline"
|
||||||
copy: "mail2platon@yandex.ru"
|
copy: "mail2platon@yandex.ru"
|
||||||
|
|
||||||
announcement:
|
announcement:
|
||||||
enable: false
|
enable: false
|
||||||
|
|
||||||
post:
|
post:
|
||||||
showLastModified: true
|
showLastModified: true
|
||||||
showCoverInContent: false
|
showCoverInContent: false
|
||||||
expressiveCode:
|
expressiveCode:
|
||||||
theme: "github-dark"
|
theme: "github-dark"
|
||||||
license:
|
license:
|
||||||
enable: true
|
enable: true
|
||||||
name: "CC BY-NC-SA 4.0"
|
name: "CC BY-NC-SA 4.0"
|
||||||
url: "https://creativecommons.org/licenses/by-nc-sa/4.0/"
|
url: "https://creativecommons.org/licenses/by-nc-sa/4.0/"
|
||||||
comment:
|
comment:
|
||||||
enable: false
|
enable: false
|
||||||
twikoo:
|
twikoo:
|
||||||
envId: "https://twikoo.vercel.app"
|
envId: "https://twikoo.vercel.app"
|
||||||
lang: "en"
|
lang: "en"
|
||||||
|
|
||||||
footer:
|
footer:
|
||||||
enable: false
|
enable: false
|
||||||
particle:
|
particle:
|
||||||
enable: false
|
enable: false
|
||||||
|
|
||||||
musicPlayer:
|
musicPlayer:
|
||||||
enable: true
|
enable: true
|
||||||
mode: "local"
|
mode: "local"
|
||||||
local:
|
local:
|
||||||
playlist:
|
playlist:
|
||||||
- id: 1
|
- id: 1
|
||||||
title: "Children of the Omnissiah (Warhammer 40,000: Mechanicus OST)"
|
title: "Children of the Omnissiah (Warhammer 40,000: Mechanicus OST)"
|
||||||
artist: "Guillaume David"
|
artist: "Guillaume David"
|
||||||
cover: "assets/images/war.jpg"
|
cover: "assets/images/war.jpg"
|
||||||
url: "assets/music/war.mp3"
|
url: "assets/music/war.mp3"
|
||||||
duration: 106
|
duration: 106
|
||||||
- id: 2
|
- id: 2
|
||||||
title: "Move (Rimworld P-Music)"
|
title: "Move (Rimworld P-Music)"
|
||||||
artist: "Peppsen"
|
artist: "Peppsen"
|
||||||
cover: "assets/images/rimworld.jpg"
|
cover: "assets/images/rimworld.jpg"
|
||||||
url: "assets/music/rimworld.mp3"
|
url: "assets/music/rimworld.mp3"
|
||||||
duration: 204
|
duration: 204
|
||||||
- id: 3
|
- id: 3
|
||||||
title: "Reflecting"
|
title: "Reflecting"
|
||||||
artist: "Michael Regner"
|
artist: "Michael Regner"
|
||||||
cover: "assets/images/reflecting.jpg"
|
cover: "assets/images/reflecting.jpg"
|
||||||
url: "assets/music/reflecting.mp3"
|
url: "assets/music/reflecting.mp3"
|
||||||
duration: 90
|
duration: 90
|
||||||
autoplay: false
|
autoplay: false
|
||||||
|
|
||||||
pio:
|
pio:
|
||||||
enable: false
|
enable: false
|
||||||
|
|||||||
Reference in New Issue
Block a user