Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 35ff8bc862 | |||
| d3a695bde9 |
@@ -1,3 +1,2 @@
|
|||||||
.venv
|
.venv
|
||||||
docs/copypaste
|
docs/copypaste
|
||||||
docs/Заметки/vault/root-token.md
|
|
||||||
|
|||||||
-19
@@ -1,19 +0,0 @@
|
|||||||
FROM docker.io/library/python:alpine
|
|
||||||
WORKDIR /home/ubadmin/mkdocks
|
|
||||||
COPY ./requirements.txt .
|
|
||||||
RUN apk add --update --no-cache --virtual .build-deps gcc musl-dev &&\
|
|
||||||
apk add --no-cache git ca-certificates curl &&\
|
|
||||||
pip install --no-cache-dir --requirement ./requirements.txt &&\
|
|
||||||
apk del .build-deps &&\
|
|
||||||
rm ./requirements.txt
|
|
||||||
WORKDIR /d
|
|
||||||
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Планы для Sailor.lab
|
|
||||||
~~1) Развернуть vault~~
|
|
||||||
2) Выбрать систему мониторинга
|
|
||||||
3) Настроить бекапы
|
|
||||||
4) Установить ubuntu на старый комп
|
|
||||||
5) Подумать над переделкой шаблона as a service?
|
|
||||||
6) Добавить диск и маунт диска для логов
|
|
||||||
7) Настроить Vault
|
|
||||||
8) Сделать дашборд для веб панелей
|
|
||||||
9) Развернуть opensearch
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Стартовая страница
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
services:
|
|
||||||
dashy:
|
|
||||||
# The image to pull + version. Can use `ghcr.io/lissy93/dashy` instead
|
|
||||||
image: lissy93/dashy:latest
|
|
||||||
# Optional container name
|
|
||||||
container_name: dashy
|
|
||||||
# Port to serve on (keep container port (second one) as 8080)
|
|
||||||
ports:
|
|
||||||
- 8080:8080
|
|
||||||
# Mount a directory containing your conf.yml and any other assets
|
|
||||||
volumes:
|
|
||||||
- ./user-data:/app/user-data
|
|
||||||
# Add any env vars for server here, if needed
|
|
||||||
environment:
|
|
||||||
- NODE_ENV=production
|
|
||||||
# Auto-start the container on boot
|
|
||||||
restart: unless-stopped
|
|
||||||
# Healthcheck to determine when container healthy
|
|
||||||
healthcheck:
|
|
||||||
test: ['CMD', 'node', '/app/services/healthcheck.js']
|
|
||||||
interval: 1m30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
start_period: 30s
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
networks:
|
|
||||||
gitea:
|
|
||||||
external: false
|
|
||||||
|
|
||||||
services:
|
|
||||||
server:
|
|
||||||
image: docker.gitea.com/gitea:1.26.4
|
|
||||||
container_name: gitea
|
|
||||||
environment:
|
|
||||||
- USER_UID=1000
|
|
||||||
- USER_GID=1000
|
|
||||||
- GITEA__database__DB_TYPE=mysql
|
|
||||||
- GITEA__database__HOST=db:3306
|
|
||||||
- GITEA__database__NAME=gitea
|
|
||||||
- GITEA__database__USER=gitea
|
|
||||||
- GITEA__database__PASSWD=gitea
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- gitea
|
|
||||||
volumes:
|
|
||||||
- ./gitea:/data
|
|
||||||
- /etc/timezone:/etc/timezone:ro
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
ports:
|
|
||||||
- "3000:3000"
|
|
||||||
- "222:22"
|
|
||||||
depends_on:
|
|
||||||
- db
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: docker.io/library/mysql:8
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- MYSQL_ROOT_PASSWORD=gitea
|
|
||||||
- MYSQL_USER=gitea
|
|
||||||
- MYSQL_PASSWORD=gitea
|
|
||||||
- MYSQL_DATABASE=gitea
|
|
||||||
networks:
|
|
||||||
- gitea
|
|
||||||
volumes:
|
|
||||||
- ./mysql:/var/lib/mysql
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
networks:
|
|
||||||
gitea:
|
|
||||||
external: false
|
|
||||||
|
|
||||||
services:
|
|
||||||
server:
|
|
||||||
image: docker.gitea.com/gitea:1.26.4
|
|
||||||
container_name: gitea
|
|
||||||
environment:
|
|
||||||
- USER_UID=1000
|
|
||||||
- USER_GID=1000
|
|
||||||
- GITEA__database__DB_TYPE=postgres
|
|
||||||
- GITEA__database__HOST=db:5432
|
|
||||||
- GITEA__database__NAME=gitea
|
|
||||||
- GITEA__database__USER=gitea
|
|
||||||
- GITEA__database__PASSWD=gitea
|
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
- gitea
|
|
||||||
volumes:
|
|
||||||
- ./gitea:/data
|
|
||||||
- /etc/timezone:/etc/timezone:ro
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
ports:
|
|
||||||
- "3000:3000"
|
|
||||||
- "222:22"
|
|
||||||
depends_on:
|
|
||||||
- db
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: docker.io/library/postgres:14
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- POSTGRES_USER=gitea
|
|
||||||
- POSTGRES_PASSWORD=gitea
|
|
||||||
- POSTGRES_DB=gitea
|
|
||||||
networks:
|
|
||||||
- gitea
|
|
||||||
volumes:
|
|
||||||
- ./postgres:/var/lib/postgresql/data
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
services:
|
|
||||||
nexterm:
|
|
||||||
image: germannewsmaker/nexterm:latest
|
|
||||||
container_name: nexterm
|
|
||||||
network_mode: host
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- ENCRYPTION_KEY=02bdb65a028c37b2628c3727f3821530a629c40c25843b5268ceeb79a2c4033e
|
|
||||||
volumes:
|
|
||||||
- ./nexterm-data:/app/data
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Welcome to MkDocs
|
||||||
|
|
||||||
|
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
* `mkdocs new [dir-name]` - Create a new project.
|
||||||
|
* `mkdocs serve` - Start the live-reloading docs server.
|
||||||
|
* `mkdocs build` - Build the documentation site.
|
||||||
|
* `mkdocs -h` - Print help message and exit.
|
||||||
|
|
||||||
|
## Project layout
|
||||||
|
|
||||||
|
mkdocs.yml # The configuration file.
|
||||||
|
docs/
|
||||||
|
index.md # The documentation homepage.
|
||||||
|
... # Other markdown pages, images and other files.
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# Проект по построению инфраструктуры для хостинга платформ мониторинга
|
||||||
|
## Задачи
|
||||||
|
### Железо
|
||||||
|
- Расположение серверов
|
||||||
|
- Охлаждение
|
||||||
|
- Прокладка кабелей
|
||||||
|
- Питание
|
||||||
|
- Запас мощности
|
||||||
|
### ОС
|
||||||
|
- Установка ОС
|
||||||
|
- Базовая настройка доступов
|
||||||
|
- Управление и оркестрация
|
||||||
|
### Сеть
|
||||||
|
- Прокладка
|
||||||
|
- Настройка оборудования
|
||||||
|
- Настройка магистралей
|
||||||
|
### Документирование
|
||||||
|
- Учета железа
|
||||||
|
- Учет ОС и конфигураций
|
||||||
|
- Карты сети
|
||||||
|
- Физическая схема
|
||||||
|
- L3 схема
|
||||||
|
- Схема подключений
|
||||||
|
- Vlan схема
|
||||||
|
- Таблица адресации
|
||||||
|
- Overcloud
|
||||||
|
### Мониторинг
|
||||||
|
- Доступность
|
||||||
|
- Оповещения
|
||||||
|
- Учет потребления ресурсов
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#Homelab
|
||||||
|
Для своей лабы нужен сервак, и внешний адрес через который я смогу подключать внешние сервисы.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#openstack
|
||||||
|
Заметки по поводу запуска Openstack
|
||||||
|
Для запуска использовать 2U Oracle и харды для Ceph
|
||||||
|
Пересобрать рейды. Установить контроллер в режим JBOD или вообще убрать его и подключить бекплейн к материнке.
|
||||||
|
Подключить сетевые карты на 10Гб\с к серверам
|
||||||
|
Накатываем 22 убунту на все сервера.
|
||||||
|
Для подключения используем 10 Гбс на Цеф и 1 гбс на остальное. Так же можно прокинуть внешний ip для тестов облака.
|
||||||
|
Ставим коллу и деплоим
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
pageInfo:
|
|
||||||
title: Home Lab
|
|
||||||
sections: # An array of sections
|
|
||||||
- name: Github
|
|
||||||
items: # An array of items
|
|
||||||
- title: GitHub
|
|
||||||
description: Source code and documentation on GitHub
|
|
||||||
icon: fab fa-github
|
|
||||||
url: https://github.com/SailorUpiter/mkdocs
|
|
||||||
- name: Services
|
|
||||||
items:
|
|
||||||
- title: DNS
|
|
||||||
icon: favicon
|
|
||||||
url: http://192.168.1.2/
|
|
||||||
- title: Gitea
|
|
||||||
icon: https://icon-icons.com/ru/icon/gitea/146173
|
|
||||||
url: http://192.168.130.3:3000/
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
# Заметки по докеру
|
|
||||||
1) Для того что бы compose перечитал файл конфигурации нужно сделать стоп, а потом старт. Рестар не перечитывает конфигурацию
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# Альтернативный registry
|
|
||||||
Есть 2 ситуации когда нужен альтернативный реджистри докера:
|
|
||||||
1) требуется качать свое приложение из своего регистри
|
|
||||||
2) Докерхаб не доступен\ограничено кол-во скачиваний\санкции
|
|
||||||
Для решение этих проблем мы можем в конфиг файле докера указать альтернативный регистри. Данная инструкция для обычной установки докера. Если докер рутлесс, то команды будут иными
|
|
||||||
- Открываем или создаем, если нет, файл по пути
|
|
||||||
```
|
|
||||||
nano /etc/docker/daemon.json
|
|
||||||
```
|
|
||||||
- Редактируем или вставляем в свежий файл конфиг. В данном случае используется зеркало таймвеба. Ниже будет список альтернативныйх зеркал
|
|
||||||
```
|
|
||||||
{
|
|
||||||
"registry-mirrors" : [ "https://dockerhub.timeweb.cloud" ]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Перезапускаем демон докера
|
|
||||||
```
|
|
||||||
systemctl reload docker
|
|
||||||
```
|
|
||||||
# Список альтернативных зеркал
|
|
||||||
Адрес реестра Компания-владелец
|
|
||||||
https://mirror.gcr.io Google
|
|
||||||
https://public.ecr.aws Amazon
|
|
||||||
https://dockerhub.timeweb.cloud Timeweb Cloud
|
|
||||||
https://dh-mirror.gitverse.ru GitVerse (СберБанк)
|
|
||||||
https://dockerhub1.beget.com Beget
|
|
||||||
https://quay.io Red Hat
|
|
||||||
https://registry.access.redhat.com Red Hat
|
|
||||||
https://registry.redhat.io Red Hat
|
|
||||||
@@ -78,20 +78,20 @@ git --version
|
|||||||
```
|
```
|
||||||
adduser \
|
adduser \
|
||||||
--system \
|
--system \
|
||||||
--shell /bin/false \
|
--shell /bin/bash \
|
||||||
--gecos 'Git Version Control' \
|
--gecos 'Git Version Control' \
|
||||||
--group \
|
--group \
|
||||||
--disabled-password \
|
--disabled-password \
|
||||||
--home /home/git \
|
--home /home/git \
|
||||||
gitea
|
git
|
||||||
```
|
```
|
||||||
1) Создадим необходимые для работы директории и выдадим созданному юзеру права на них. Права 770 на директорию /etc/gitea выдаются только для первоначальной настройки.
|
1) Создадим необходимые для работы директории и выдадим созданному юзеру права на них. Права 770 на директорию /etc/gitea выдаются только для первоначальной настройки.
|
||||||
```
|
```
|
||||||
mkdir -p /mnt/data/gitea/{custom,data,log}
|
mkdir -p /var/lib/gitea/{custom,data,log}
|
||||||
chown -R gitea:gitea /mnt/data/gitea/
|
chown -R git:git /var/lib/gitea/
|
||||||
chmod -R 750 /mnt/data/gitea/
|
chmod -R 750 /var/lib/gitea/
|
||||||
mkdir /etc/gitea
|
mkdir /etc/gitea
|
||||||
chown root:gitea /etc/gitea
|
chown root:git /etc/gitea
|
||||||
chmod 770 /etc/gitea
|
chmod 770 /etc/gitea
|
||||||
```
|
```
|
||||||
1) Создадим системный юнит для запуска gitea как сервиса systemd. Создадим файл юнита по пути /etc/systemd/system/gitea.service
|
1) Создадим системный юнит для запуска gitea как сервиса systemd. Создадим файл юнита по пути /etc/systemd/system/gitea.service
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
log:
|
|
||||||
level: info
|
|
||||||
|
|
||||||
runner:
|
|
||||||
file: .runner
|
|
||||||
capacity: 1
|
|
||||||
timeout: 3h
|
|
||||||
insecure: false
|
|
||||||
fetch_timeout: 5s
|
|
||||||
fetch_interval: 2s
|
|
||||||
labels: ["ubuntu-latest:docker://gitea/runner-images:ubuntu-latest", "ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04"]
|
|
||||||
|
|
||||||
cache:
|
|
||||||
enabled: true
|
|
||||||
dir: ""
|
|
||||||
host: "192.168.1.3"
|
|
||||||
port: 8088
|
|
||||||
external_server: ""
|
|
||||||
|
|
||||||
container:
|
|
||||||
network: ""
|
|
||||||
privileged: false
|
|
||||||
options:
|
|
||||||
workdir_parent:
|
|
||||||
valid_volumes: []
|
|
||||||
docker_host: ""
|
|
||||||
force_pull: false
|
|
||||||
|
|
||||||
host:
|
|
||||||
workdir_parent:
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
services:
|
|
||||||
runner-1:
|
|
||||||
image: gitea/act_runner:nightly
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
- CONFIG_FILE=/config.yaml
|
|
||||||
- GITEA_INSTANCE_URL=http://192.168.1.3:3000/
|
|
||||||
- GITEA_RUNNER_REGISTRATION_TOKEN=token
|
|
||||||
volumes:
|
|
||||||
- ./runner1/config.yaml:/config.yaml
|
|
||||||
- ./runner1/data:/data
|
|
||||||
- ./runner1/cache:/root/.cache
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
ports:
|
|
||||||
- "8088:8088"
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
# Gitea Runner
|
|
||||||
# Включение Actions
|
|
||||||
Для установки и добавления раннера нужны включенные действия. Если они не включены по умолчанию, то включаем их в конфиге самой gitea
|
|
||||||
```
|
|
||||||
nano /etc/gitea/app.ini
|
|
||||||
|
|
||||||
[actions] ENABLED=true
|
|
||||||
```
|
|
||||||
# Где взять токен
|
|
||||||
Нужно зайти в репозиторий -> Настройки -> Действия -> Раннеры -> Создать новый раннер
|
|
||||||
## Установка docker
|
|
||||||
Раннер запускается в контейнере и запускает задачи тоже в контейнере, так что нам нужен докер.
|
|
||||||
|
|
||||||
```
|
|
||||||
curl -fsSL https://get.docker.com | sh -
|
|
||||||
```
|
|
||||||
В нужно папке создадим папку для раннеров и перейдем в нее. Если нужнго будет запускать несколько раннеров, то мы просто создадим папку со следующим номером.
|
|
||||||
```
|
|
||||||
mkdir -p gitea_runners/runner1
|
|
||||||
mkdir runner-1 && cd runner-1
|
|
||||||
```
|
|
||||||
Создадим конфиг ранера. Описание всех настроке конфига в оф документации https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml
|
|
||||||
```
|
|
||||||
nano config.yaml
|
|
||||||
```
|
|
||||||
Вернемся в общую для ранеров директорию и создадим там compose файл для запуска. В этом файле мы можем описывать сразу все раннеры
|
|
||||||
```
|
|
||||||
cd ..
|
|
||||||
nano docker-compose.yaml
|
|
||||||
```
|
|
||||||
После всех настроек запускаем и ждем лога о том, что раннер зарегистрирован
|
|
||||||
```
|
|
||||||
docker compose up -d
|
|
||||||
docker logs gitea_runners-runner-1-1 -f
|
|
||||||
```
|
|
||||||
## Тест
|
|
||||||
Для теста создадим в репозитории директорию и конфиг для работы с раннером
|
|
||||||
```
|
|
||||||
mkdir -p ./.gitea/workflow/test.yaml
|
|
||||||
```
|
|
||||||
Далее запушим любое изменение и посмотрим в репозитории во вкладе действия выполнение. Первое выполнение может быть долгим, так как раннер скачивает контейнер для запуска кода.
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
name: Test Workflow
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Print environment variables
|
|
||||||
run: |
|
|
||||||
echo "GITHUB_REPOSITORY: $GITHUB_REPOSITORY"
|
|
||||||
echo "GITHUB_SHA: $GITHUB_SHA"
|
|
||||||
echo "GITHUB_REF: $GITHUB_REF"
|
|
||||||
echo "GITHUB_ACTOR: $GITHUB_ACTOR"
|
|
||||||
echo "PATH: $PATH"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Заметки по синтаксису Markdown
|
|
||||||
## Зачеркнуть
|
|
||||||
Что бы сделать зачеркнутый текст поместите его в ~~ТЕКСТ~~
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
storage "file" { # Указываем что храним секреты в файле, а не БД
|
|
||||||
path = "/mnt/vault/data" # Путь до файла с данным
|
|
||||||
}
|
|
||||||
listener "tcp" { # Указываем какой сервер слушаем
|
|
||||||
address = "0.0.0.0:8200"
|
|
||||||
# tls_cert_file = "/etc/vault/vault-cert.pem"
|
|
||||||
# tls_key_file = "/etc/vault/vault-key.pem"
|
|
||||||
tls_disable = 1 # Отключение https://
|
|
||||||
}
|
|
||||||
ui = true # Включить UI
|
|
||||||
disable_mlock = true
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
# Инструкция по установке Vault
|
|
||||||
Система ubuntu 22.04
|
|
||||||
Vault 2.0.0
|
|
||||||
## Скачивание
|
|
||||||
Компания Hashicorp запретила скачивать свои продукты из России. Пользуемся ВПН или скачиваем с зеркала яндекса
|
|
||||||
```
|
|
||||||
VAULT_VERSION="2.0.0"
|
|
||||||
wget https://hashicorp-releases.yandexcloud.net/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip
|
|
||||||
```
|
|
||||||
## Установка
|
|
||||||
Установим архиватор, что бы распаковать бинарник
|
|
||||||
```
|
|
||||||
sudo apt-get install -y unzip
|
|
||||||
```
|
|
||||||
Распакуем и перенесем бинарник в папку с бинарниками
|
|
||||||
```
|
|
||||||
unzip vault_${VAULT_VERSION}_linux_amd64.zip
|
|
||||||
sudo mv vault /usr/local/bin/
|
|
||||||
```
|
|
||||||
Проверим что работает
|
|
||||||
```
|
|
||||||
vault --version
|
|
||||||
```
|
|
||||||
Далее нужно создать системного юзера и директории для конфигов и данных
|
|
||||||
```
|
|
||||||
adduser \
|
|
||||||
--system \
|
|
||||||
--shell /bin/false \
|
|
||||||
--gecos 'Vault user' \
|
|
||||||
--group \
|
|
||||||
--disabled-password \
|
|
||||||
--no-create-home \
|
|
||||||
vault
|
|
||||||
```
|
|
||||||
```
|
|
||||||
sudo nano /etc/vault/vault.hcl
|
|
||||||
```
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description="HashiCorp Vault - A tool for managing secrets"
|
|
||||||
Documentation=https://www.vaultproject.io/docs/
|
|
||||||
Requires=network-online.target
|
|
||||||
After=network-online.target
|
|
||||||
ConditionFileNotEmpty=/etc/vault/config.hcl
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=vault
|
|
||||||
Group=vault
|
|
||||||
ProtectSystem=full
|
|
||||||
ProtectHome=read-only
|
|
||||||
PrivateTmp=yes
|
|
||||||
PrivateDevices=yes
|
|
||||||
SecureBits=keep-caps
|
|
||||||
AmbientCapabilities=CAP_IPC_LOCK
|
|
||||||
NoNewPrivileges=yes
|
|
||||||
ExecStart=/usr/local/bin/vault server -config=/etc/vault/config.hcl
|
|
||||||
ExecReload=/bin/kill --signal HUP
|
|
||||||
KillMode=process
|
|
||||||
KillSignal=SIGINT
|
|
||||||
Restart=on-failure
|
|
||||||
RestartSec=5
|
|
||||||
TimeoutStopSec=30
|
|
||||||
StartLimitBurst=3
|
|
||||||
LimitNOFILE=65536
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Для того что бы использовать vault
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Данная нейросеть развернута локально на машине ООО Трастинфо.
|
||||||
|
Нейросеть помнит контекст во время диалога
|
||||||
|
Она не понимает местонахождение меня.
|
||||||
|
Старается дать развернутый ответ.
|
||||||
|
При большом объеме информации заметны фризы и подвисания
|
||||||
|
На задачи математических вычислений она начинает выводить код python и отвечает на английском языке при вопросе на русском, но вычисление сделаны верно. Проверено на очень простом уравнении
|
||||||
|
После решения уравнения нейросеть в чате начала отображать выполнение кода и повторять ответ на английском языке на старый вопрос пока не скажешь прекратить
|
||||||
|
Пишет простые функции на питоне и может их выполнить
|
||||||
|
Воспринимает ли текст с ошибками?
|
||||||
|
Текст с ошибками воспринимает плохо, но воспринимает и осознает контекст сообщения
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#notes #comand #linux #docker
|
#notes #comand #linux #docker
|
||||||
```
|
```
|
||||||
curl https://get.docker.com | sh -
|
curl -fsSL https://get.docker.com | sh -
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#cloud-init #notes #automation #мысли
|
||||||
|
Подумать что мы можем делать с клауд инитом
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#docker #notes #мысли
|
||||||
|
Для автоматизации установки докера на хост скопировать скрипт установки с сайта докера, залить в локальную репу и разливать его с ансибл хоста, после клауд инита.
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#мысли
|
||||||
|
Определить бы какие сервера будут стетлесс а как стейтфулл
|
||||||
|
Тогда можно будет раскидать инфру, на плейбуки и создать репы для бекапов
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#automation #notes #мысли
|
||||||
|
План настройки автоматизации при деплое сервисов.
|
||||||
|
Инструменты для использования OpenTofu + Ansible
|
||||||
|
Что мы настраиваем терраформом
|
||||||
|
1. Параметры ВМ (CPU, Ram, disk, ip, dns)
|
||||||
|
2. Креды (логин, пароль, ssh)
|
||||||
|
3. Первичная настройка (hostname, iptables?, fail2ban, ssh, time)
|
||||||
|
4. Docker?
|
||||||
|
В принципе делаем копию официальной репы софта?
|
||||||
|
Вид к которому я пришел
|
||||||
|
- Деплоим вм на хост через тераформ
|
||||||
|
- При деплое выполняются первичные настройки
|
||||||
|
- Передаем параметры в инвентарь ансибла
|
||||||
|
- Ансибл запускает плейбуки для настройки
|
||||||
|
- В настройку входят: система, мониторинг, бекап файлов.
|
||||||
|
-
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#notes #backup #мысли
|
||||||
|
Примерные мысли такие. Для рекавери нам нужна вм, дата и конфиги.
|
||||||
|
Как сервер бекапов используем urbackup. С его помощью мы бекапим файлы из ВМок которые мы можем быстро востановить в случае чего, что бы уменьшить оверхед бекапа. На каждую ВМ создаем рекавери план. В основном мы имеем 3 вида файлов:
|
||||||
|
1) БД
|
||||||
|
2) Статика
|
||||||
|
3) Конфиги
|
||||||
|
На каждую ВМ делаем свою репу с бекапами. Хотелось бы все делать рестиком быстро и просто с дедупом, но сложно в управлении и не совмещаем образы ВМ и файлы. Можно написать автоматизацию для хапер ви через снапшоты, но очень много подводных. Это прям надо целый инструмент писать.
|
||||||
|
Для урбекапа надо проверить ограничения по скорости и мультипоток.
|
||||||
|
Настроить репы для файлов. Так же настроить репы для хранения тофу файлов.
|
||||||
|
Подумать над автоматической раскаткой приложения. Очень много автоматизации, долго писать тяжело поддерживать.
|
||||||
|
Примерная блок схема
|
||||||
|
Разверстка ВМ --> Добавление провижинига в репозиторий --> Определение директорий и файлов для бекапа --> Организация бекап-репы -- > Автоматизация бекапа
|
||||||
|
Схема говно надо переделать.
|
||||||
|
Добавить интеграцию бекапов в автоматизацию.
|
||||||
|
Надо сделать регистри контейнеров для наших систем.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#мысли
|
||||||
|
|
||||||
|
Маркировка осуществляется для:
|
||||||
|
* Сетевых кабелей (медных и оптических)
|
||||||
|
* Кабелей питания
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#notes #мысли
|
||||||
|
Что требуется для онбординга новичка в команде?
|
||||||
|
Какая документация нужна для онбординга?
|
||||||
|
Попробуем сформировать базовую подготовку
|
||||||
|
Задачи на онбординг:
|
||||||
|
1) Знакомство с командой. Оформление пропусков (задача начальства)
|
||||||
|
2) Ознакомление с документами по ТБ, ОТ и остальными
|
||||||
|
3) Заведение учетных записей.
|
||||||
|
4) Первичный инструктаж
|
||||||
|
5) Острова обучения
|
||||||
|
6) Сдача предварительного среза знаний
|
||||||
|
7) Сдача экзамена.
|
||||||
|
* [ ] Составить список учетных записей которые нужно дать сотруднику.
|
||||||
|
* [ ] Определить входящую в инструктаж информацию
|
||||||
|
* [ ] Сформировать острова обучения
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#мысли #notes
|
||||||
|
Нетбокс будет являться эталонным хостом для систем. НА основе его сделаем документацию и отработаем алгоритм развертывания. Так же эталонными хостами будут сервисные хосты (мониторинг, логи, бекап.)
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
Здравствуйте. Для организации высокопроизводительного хранилища базы данных мониторинга электропотребления PDU требуется закупить SSD диски и SFP модули. Высокопроизводительное хранилище требуется так как текущее хранилище не справляется с возросшей нагрузкой, что в дальнейшем может привести к потере данных.
|
||||||
|
|
||||||
|
Для организации отказоустойчивости требуется что бы каждый сервер в количестве 8 штук был оснащен SSD дисками. Минимальное количество дисков 2-шт на сервер.
|
||||||
|
|
||||||
|
Таким образом требуется 16 дисков SSD Samsung PM1643a <MZILT1T9HBJR> или аналогичных.
|
||||||
|
|
||||||
|
Для организации высокоскоростного подключения к хранилищу базы данных системы мониторинга PDU требуется SFP модули. Для обеспечения отказоустойчивости, совместимости и взаимозаменяемости серверов требуется закупить:
|
||||||
|
|
||||||
|
24 модуля SFP ASF-10G-T 10Gteck или аналогичные
|
||||||
|
|
||||||
|
16 модулей SFP Lenovo AFBR-709SMZ-ib8, ARISTA XVR-00001-02, Huawei LTF8501-BC+ 02310MNW или аналогичных
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
Надо портов 15 + 2 аплинка
|
||||||
|
Адресов надо штук 50-100
|
||||||
|
Стойка 2.5 метра. Между стойками 3 метра. лоток пол метра с каждой стойки.
|
||||||
|
Итого 2.5 +1 +3 = 6.5 метров
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
Идея такая - сделать скрипт который будет создавать рейд, потом запускать тесты и записывать результаты в файл. После рейд удаляется и создается с другим страйпом. После всех тестов создается рейд с включенным кешем. и аналогично запускаются тесты
|
||||||
|
|
||||||
|
Тестирование будет осуществляться в два этапа без кеша и с кешем. Для каждого страйпа будет проверятся нагрузка в (1,4) потока, блоками (4,8,64,4096) К, с глубиной очереди (1,8,32,64,128).
|
||||||
|
Размер файла неизвестен. Тестирование настроено на время. Время тестирование 10 сек каждый конфиг.
|
||||||
|
Элементы программы:
|
||||||
|
Статические данные:
|
||||||
|
- Список страйпов для рейд контроллера, список потоков, список очереди, размер блока. +
|
||||||
|
Функции ОС:
|
||||||
|
- Функция создания рейда +
|
||||||
|
- Функция создания ФС +
|
||||||
|
- Функция монтирования +
|
||||||
|
- Функция отмонтирования +
|
||||||
|
- Функция удаления ФС +
|
||||||
|
- Функция удаления рейда +
|
||||||
|
- Функция включения кеша
|
||||||
|
Тестирование:
|
||||||
|
- Функция генерации конфиг файлов +
|
||||||
|
- Функция перебора конфигов
|
||||||
|
- Функция тестирования и записи в файл результатов
|
||||||
|
- Парсинг файлов и вывод только нужных данных в таблицу
|
||||||
|
|
||||||
|
|
||||||
|
Реализация на питоне. Запускаем большой цикл с вложенным циклом.
|
||||||
|
Выполнение выглядит так:
|
||||||
|
Генерим конфиги -> Начали цикл создаем RAID 0 из 1-ого диска со страйпом 8 -> создаем ФС -> Монтируем ФС -> Начало цикла тестирования -> Начало цикла парсинга -> Завршение парсинга - > Завершение цикла тестирования -> Отмонтируем диск -> Удаляем ФС -> Удаляем рейд 0 со страйпом 8 -> Завершаем Цикл тестирования.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
Что требуется для сдачи юнита стойки в аренду
|
||||||
|
1) Стойка 1U + розетка
|
||||||
|
2) Питание + резерв -> проблема управления питанием и мониторинга его потребления (Сколько максимальный объем питания на 1 БП? На 1 сервер?)
|
||||||
|
3) Охлаждение
|
||||||
|
4) IP Адреса -> Проблема подключения и портов (сколько ip адресов? Сколько портов подключения? Какой гарантированный канал? Порт IPMI дается ли? какой у него канал? )
|
||||||
|
5) Контроль доступа ?
|
||||||
|
6) Суммарный трафик?
|
||||||
|
7) Топология сети?
|
||||||
|
8) Автоматизация?
|
||||||
|
9) Биллинг?
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#мысли
|
||||||
|
Ну какую то сверх очевидную базу я знаю.
|
||||||
|
Темы которые следует поизучать подробнее это ВПН, маршрутизация, БГП
|
||||||
|
БГП вообще 10 раз читал ниче не понял
|
||||||
|
С впном пока надо повременить и отрисовать архитектуру
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
#note #network #sfp
|
||||||
|
У нас все оборудование цисковсвкое. Кароточки тоже хуй пойми какие.
|
||||||
|
Посчитаем сколько всего надо:
|
||||||
|
6 серверов RJ45 (2 порта) 24
|
||||||
|
2 сервера SFP+ (2 порта) 8
|
||||||
|
1 СХД SFP+ (4 порта) 8
|
||||||
|
Подключение идет с 2-х сторон
|
||||||
|
Итого:
|
||||||
|
24 RJ4 Пример ASF-10G-T 10Gteck
|
||||||
|
16 SFP+
|
||||||
|
|
||||||
|
Пересчет
|
||||||
|
6 серверов RJ45 по 2 порта = 12 штук
|
||||||
|
5 серверов SFP+ по 2 порта =20 штук
|
||||||
|
1 схд 4 портов rj45 = 4 штуки (4 было в комплекте они уже есть)
|
||||||
|
Запас? 4 RJ45
|
||||||
|
Итого
|
||||||
|
16 RJ45
|
||||||
|
24 SFP+
|
||||||
|
|
||||||
|
|
||||||
|
Чисто теоретически заведутся все СФП. Практически а хуй его знает.
|
||||||
|
|
||||||
|
Точно рабочие
|
||||||
|
ASF-10G-T 10Gteck
|
||||||
|
|
||||||
|
Lenovo AFBR-709SMZ-ib8
|
||||||
|
ARISTA XVR-00001-02
|
||||||
|
Huawei LTF8501-BC+ 02310MNW
|
||||||
|
Текст письма
|
||||||
|
|
||||||
|
Здравствуйте. Для организации высокоскоростного подключения к хранилищу базы данных системы мониторинга PDU требуется SFP модули. Для обеспечения отказоустойчивости и совместимости серверов требуется закупить:
|
||||||
|
24 модуля SFP ASF-10G-T 10Gteck или аналогичные
|
||||||
|
16 модулей SFP Lenovo AFBR-709SMZ-ib8, ARISTA XVR-00001-02, Huawei LTF8501-BC+ 02310MNW или аналогичных
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Отчет о своместимости SFP
|
||||||
|
HPE 10GB SR SFP+ 455885-001
|
||||||
|
SN 7CR909N16K
|
||||||
|
Ядро сети Работает
|
||||||
|
HP NIC Работает
|
||||||
|
Eonstore DS1012 Работает
|
||||||
|
|
||||||
|
Lenovo AFBR-709SMZ-ib8
|
||||||
|
pn\sn 46c3448 Y050UC0C6FD0
|
||||||
|
(Хпшеная в ленову работает)
|
||||||
|
Ядро сети (Работает)
|
||||||
|
from core to HP DL360G9 SFP+ card Работает
|
||||||
|
Eonstore DS1012 Работает
|
||||||
|
HP NIC (работает)
|
||||||
|
|
||||||
|
ARISTA XVR-00001-02
|
||||||
|
Sn XAP1114T3654
|
||||||
|
Ленова в аристу работает
|
||||||
|
Ариста в Хп работает
|
||||||
|
Ядро сети (Работает)
|
||||||
|
HP NIC (работает)
|
||||||
|
Eonstore DS1012 Работает
|
||||||
|
|
||||||
|
Huawei LTF8501-BC+ 02310MNW
|
||||||
|
Sn J265A000290
|
||||||
|
Ядро сети (Работает)
|
||||||
|
Хуавей в аристу работает
|
||||||
|
Хуавей в ленову +
|
||||||
|
Хуавей в ХП +
|
||||||
|
HP NIC (работает)
|
||||||
|
Eonstore DS1012 Работает
|
||||||
|
|
||||||
|
Оптические трансиверы
|
||||||
|
СХД 8 Шт
|
||||||
|
Сервера HP 8 Шт
|
||||||
|
Сервера оракл 12 Шт
|
||||||
|
Rj45 трансиверы 16 ШТ
|
||||||
|
|
||||||
|
|
||||||
|
Карточки куда идет
|
||||||
|
деллы BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller (rev 01)
|
||||||
|
ХП rj54 Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
|
||||||
|
SFP+ карточки HP NC550SFP Dual Port 10Gbe Server adapter
|
||||||
|
Лезвие ядра сети Cisco C6800-32P10G
|
||||||
@@ -0,0 +1,144 @@
|
|||||||
|
|
||||||
|
конфиг
|
||||||
|
[fiotest]
|
||||||
|
rw=write
|
||||||
|
name=fiotest
|
||||||
|
blocksize=8k
|
||||||
|
filename=/mnt/pve/test/write
|
||||||
|
size=1g
|
||||||
|
ioengine=libaio
|
||||||
|
iodepth=128
|
||||||
|
numjobs=1
|
||||||
|
runtime=60
|
||||||
|
direct=1
|
||||||
|
|
||||||
|
Результат
|
||||||
|
fiotest: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
|
||||||
|
fio-3.28
|
||||||
|
Starting 1 process
|
||||||
|
fiotest: Laying out IO file (1 file / 1024MiB)
|
||||||
|
^Cbs: 1 (f=1): [W(1)][33.3%][w=1001KiB/s][w=250 IOPS][eta 00m:40s]
|
||||||
|
fio: terminating on signal 2
|
||||||
|
|
||||||
|
fiotest: (groupid=0, jobs=1): err= 0: pid=2515: Sat May 3 00:11:44 2025
|
||||||
|
write: IOPS=306, BW=1227KiB/s (1257kB/s)(24.2MiB/20224msec); 0 zone resets
|
||||||
|
slat (nsec): min=9129, max=61388, avg=11072.73, stdev=2469.71
|
||||||
|
clat (usec): min=1575, max=237505, avg=3247.15, stdev=5187.99
|
||||||
|
lat (usec): min=1585, max=237546, avg=3258.36, stdev=5188.33
|
||||||
|
clat percentiles (usec):
|
||||||
|
| 1.00th=[ 1745], 5.00th=[ 1909], 10.00th=[ 2008], 20.00th=[ 2180],
|
||||||
|
| 30.00th=[ 2311], 40.00th=[ 2442], 50.00th=[ 2573], 60.00th=[ 2737],
|
||||||
|
| 70.00th=[ 2966], 80.00th=[ 3294], 90.00th=[ 4228], 95.00th=[ 5866],
|
||||||
|
| 99.00th=[ 11994], 99.50th=[ 16319], 99.90th=[ 90702], 99.95th=[103285],
|
||||||
|
| 99.99th=[238027]
|
||||||
|
bw ( KiB/s): min= 672, max= 1888, per=99.49%, avg=1221.60, stdev=244.70, samples=40
|
||||||
|
iops : min= 168, max= 472, avg=305.40, stdev=61.18, samples=40
|
||||||
|
lat (msec) : 2=9.88%, 4=78.65%, 10=9.69%, 20=1.50%, 50=0.10%
|
||||||
|
lat (msec) : 100=0.11%, 250=0.08%
|
||||||
|
cpu : usr=0.17%, sys=0.29%, ctx=6206, majf=0, minf=12
|
||||||
|
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
|
||||||
|
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
|
||||||
|
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
|
||||||
|
issued rwts: total=0,6205,0,0 short=0,0,0,0 dropped=0,0,0,0
|
||||||
|
latency : target=0, window=0, percentile=100.00%, depth=1
|
||||||
|
|
||||||
|
Run status group 0 (all jobs):
|
||||||
|
WRITE: bw=1227KiB/s (1257kB/s), 1227KiB/s-1227KiB/s (1257kB/s-1257kB/s), io=24.2MiB (25.4MB), run=20224-20224msec
|
||||||
|
|
||||||
|
Disk stats (read/write):
|
||||||
|
dm-0: ios=54/8018, merge=0/0, ticks=636/27836, in_queue=28472, util=97.85%, aggrios=54/7434, aggrmerge=0/861, aggrticks=638/24232, aggrin_queue=24906, aggrutil=97.59%
|
||||||
|
sda: ios=54/7434, merge=0/861, ticks=638/24232, in_queue=24906, util=97.59%
|
||||||
|
|
||||||
|
Конфиг
|
||||||
|
[fiotest]
|
||||||
|
rw=write
|
||||||
|
name=fiotest
|
||||||
|
blocksize=8k
|
||||||
|
filename=/mnt/pve/test/write
|
||||||
|
size=1g
|
||||||
|
ioengine=libaio
|
||||||
|
iodepth=32
|
||||||
|
numjobs=1
|
||||||
|
runtime=60
|
||||||
|
direct=1
|
||||||
|
|
||||||
|
Результат
|
||||||
|
fiotest: (g=0): rw=write, bs=(R) 8192B-8192B, (W) 8192B-8192B, (T) 8192B-8192B, ioengine=libaio, iodepth=32
|
||||||
|
fio-3.28
|
||||||
|
Starting 1 process
|
||||||
|
Jobs: 1 (f=1): [W(1)][100.0%][w=11.0MiB/s][w=1409 IOPS][eta 00m:00s]
|
||||||
|
fiotest: (groupid=0, jobs=1): err= 0: pid=3588: Sat May 3 00:16:19 2025
|
||||||
|
write: IOPS=1530, BW=12.0MiB/s (12.5MB/s)(718MiB/60022msec); 0 zone resets
|
||||||
|
slat (usec): min=3, max=141739, avg=94.73, stdev=1480.44
|
||||||
|
clat (msec): min=2, max=262, avg=20.81, stdev=14.28
|
||||||
|
lat (msec): min=2, max=262, avg=20.91, stdev=14.27
|
||||||
|
clat percentiles (msec):
|
||||||
|
| 1.00th=[ 4], 5.00th=[ 8], 10.00th=[ 12], 20.00th=[ 14],
|
||||||
|
| 30.00th=[ 16], 40.00th=[ 17], 50.00th=[ 18], 60.00th=[ 20],
|
||||||
|
| 70.00th=[ 23], 80.00th=[ 26], 90.00th=[ 33], 95.00th=[ 40],
|
||||||
|
| 99.00th=[ 69], 99.50th=[ 95], 99.90th=[ 203], 99.95th=[ 226],
|
||||||
|
| 99.99th=[ 247]
|
||||||
|
bw ( KiB/s): min= 5584, max=17216, per=99.85%, avg=12226.15, stdev=2529.45, samples=119
|
||||||
|
iops : min= 698, max= 2152, avg=1528.27, stdev=316.18, samples=119
|
||||||
|
lat (msec) : 4=1.24%, 10=6.83%, 20=52.96%, 50=36.68%, 100=1.86%
|
||||||
|
lat (msec) : 250=0.43%, 500=0.01%
|
||||||
|
cpu : usr=0.48%, sys=1.47%, ctx=68734, majf=0, minf=10
|
||||||
|
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
|
||||||
|
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
|
||||||
|
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
|
||||||
|
issued rwts: total=0,91862,0,0 short=0,0,0,0 dropped=0,0,0,0
|
||||||
|
latency : target=0, window=0, percentile=100.00%, depth=32
|
||||||
|
|
||||||
|
Run status group 0 (all jobs):
|
||||||
|
WRITE: bw=12.0MiB/s (12.5MB/s), 12.0MiB/s-12.0MiB/s (12.5MB/s-12.5MB/s), io=718MiB (753MB), run=60022-60022msec
|
||||||
|
|
||||||
|
Disk stats (read/write):
|
||||||
|
dm-0: ios=126/98119, merge=0/0, ticks=3940/1857428, in_queue=1861368, util=99.31%, aggrios=126/96396, aggrmerge=0/2709, aggrticks=3928/1803591, aggrin_queue=1807713, aggrutil=99.23%
|
||||||
|
sda: ios=126/96396, merge=0/2709, ticks=3928/1803591, in_queue=1807713, util=99.23%
|
||||||
|
|
||||||
|
конфиг
|
||||||
|
[fiotest]
|
||||||
|
rw=write
|
||||||
|
name=fiotest
|
||||||
|
blocksize=8k
|
||||||
|
filename=/mnt/pve/test/write
|
||||||
|
size=1g
|
||||||
|
ioengine=libaio
|
||||||
|
iodepth=1
|
||||||
|
numjobs=1
|
||||||
|
runtime=60
|
||||||
|
direct=1
|
||||||
|
|
||||||
|
Результат
|
||||||
|
fiotest: (g=0): rw=write, bs=(R) 8192B-8192B, (W) 8192B-8192B, (T) 8192B-8192B, ioengine=libaio, iodepth=1
|
||||||
|
fio-3.28
|
||||||
|
Starting 1 process
|
||||||
|
Jobs: 1 (f=1): [W(1)][100.0%][w=1632KiB/s][w=204 IOPS][eta 00m:00s]
|
||||||
|
fiotest: (groupid=0, jobs=1): err= 0: pid=3616: Sat May 3 00:18:47 2025
|
||||||
|
write: IOPS=282, BW=2258KiB/s (2312kB/s)(132MiB/60002msec); 0 zone resets
|
||||||
|
slat (usec): min=6, max=42146, avg=91.13, stdev=759.96
|
||||||
|
clat (usec): min=1609, max=285038, avg=3450.64, stdev=5465.66
|
||||||
|
lat (usec): min=1617, max=285046, avg=3541.91, stdev=5565.78
|
||||||
|
clat percentiles (usec):
|
||||||
|
| 1.00th=[ 1778], 5.00th=[ 1909], 10.00th=[ 2008], 20.00th=[ 2147],
|
||||||
|
| 30.00th=[ 2278], 40.00th=[ 2409], 50.00th=[ 2573], 60.00th=[ 2802],
|
||||||
|
| 70.00th=[ 3130], 80.00th=[ 3916], 90.00th=[ 5407], 95.00th=[ 6980],
|
||||||
|
| 99.00th=[ 11338], 99.50th=[ 16581], 99.90th=[ 83362], 99.95th=[124257],
|
||||||
|
| 99.99th=[238027]
|
||||||
|
bw ( KiB/s): min= 656, max= 3552, per=100.00%, avg=2266.08, stdev=760.91, samples=119
|
||||||
|
iops : min= 82, max= 444, avg=283.26, stdev=95.11, samples=119
|
||||||
|
lat (msec) : 2=9.96%, 4=70.89%, 10=17.68%, 20=1.12%, 50=0.21%
|
||||||
|
lat (msec) : 100=0.08%, 250=0.06%, 500=0.01%
|
||||||
|
cpu : usr=0.12%, sys=0.26%, ctx=17491, majf=0, minf=12
|
||||||
|
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
|
||||||
|
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
|
||||||
|
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
|
||||||
|
issued rwts: total=0,16936,0,0 short=0,0,0,0 dropped=0,0,0,0
|
||||||
|
latency : target=0, window=0, percentile=100.00%, depth=1
|
||||||
|
|
||||||
|
Run status group 0 (all jobs):
|
||||||
|
WRITE: bw=2258KiB/s (2312kB/s), 2258KiB/s-2258KiB/s (2312kB/s-2312kB/s), io=132MiB (139MB), run=60002-60002msec
|
||||||
|
|
||||||
|
Disk stats (read/write):
|
||||||
|
dm-0: ios=220/23472, merge=0/0, ticks=2652/93376, in_queue=96028, util=97.68%, aggrios=220/21785, aggrmerge=0/2623, aggrticks=2622/79363, aggrin_queue=82138, aggrutil=97.58%
|
||||||
|
sda: ios=220/21785, merge=0/2623, ticks=2622/79363, in_queue=82138, util=97.58%
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Замеры производительности дисков DC600M Enterprise. Диски подключены в сервер HP DL360 G9 в рейд контроллер P440ar и собраны в одиночный RAID 0 без включения кеша контроллера.
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#note #storage #disk
|
||||||
|
Для базы данных нам требуется быстрые диски. Не столько важна пропускная способность сколько IO диска. Так как мы часто выполняем и чтение и запись маленьким блоком.
|
||||||
|
Обязательное условие это Энтерпрайз диски для ДЦ так как содержат конденсаторы.
|
||||||
|
Мы можем установить не более 4-х дисков на сервер (sas) и 8-и дисков (sata), так как упремся в пропускную способность интерфейса, а кеши медленные. Можно купить переходник для NVME дисков, но есть подводные на количество линий и возможности бифуркации PCI-e слота. Чисто теоретически можно заказать U.2 HBA модуль для линий 16x на 4 диска и протянуть кабеля до бекплейна, а потом приколхозить их. Тогда мы упираемся в производительность сети. Джае 10ГБ\с канал не покроет мощность NVME дисков
|
||||||
|
|
||||||
|
Желаемый диск 2Тб
|
||||||
|
SSD Samsung PM1643a <MZILT1T9HBJR>
|
||||||
|
|
||||||
|
Возможный бомж вариант 2Тб
|
||||||
|
SSD Samsung PM897 <MZ7L31T9HBNA-00A07>
|
||||||
|
|
||||||
|
Альтернативный вендор 2Тб
|
||||||
|
SSD Intel D3-S4620 <SSDSC2KG019TZ01>
|
||||||
|
|
||||||
|
Текст письма
|
||||||
|
Здравствуйте. В связи с проблемами производительности хранилища для базы данных мониторинга электропотребления PDU, требуется закупить SSD диски
|
||||||
|
|
||||||
|
Здравствуйте. Для организации высокопроизводительного хранилища базы данных мониторинга электропотребления PDU требуется закупить SSD диски. Высокопроизводительное хранилище требуется так как текущее хранилище не справляется с возросшей нагрузкой.
|
||||||
|
Для организации отказоустойчивости требуется что бы каждый сервер в количестве 8 штук был оснащен SSD дисками. Минимальное количество дисков 2-шт на сервер.
|
||||||
|
Таким образом требуется 16 дисков SSD Samsung PM1643a <MZILT1T9HBJR> или аналогичных.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Тест -> Поменять местами жилы на флюке -> F2
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#dock
|
||||||
|
Маркировка - это нанесение на кабель или устройство отличительного знака, который поможет опознать его.
|
||||||
|
Маркировка применяется для однотипных вещей например сетевых кабелей или серверов, так как в ЦОДе этого добра навалом. Для инженера требуется уметь читать и наносить маркировку.
|
||||||
|
|
||||||
|
|
||||||
|
Маркировка существует двух видов:
|
||||||
|
|
||||||
|
Порты маркируем в соответствии со стандартом ОТКУДА Стойка Юнит Порт - КУДА Стойка Юнит Порт
|
||||||
|
Для блейд серверов и маршрутизаторов добавляется обозначение B (Bay) оно же лезвие. Номер лезвия указывается на корзине и на маркировке
|
||||||
|
Порты считаем слева направо сверху вниз если не указаны специальные обозначения
|
||||||
|
3 5 7
|
||||||
|
1 2 4 6 8
|
||||||
|
Если специальные обозначение есть (тип LAN1 или ETH1) то ориентируемся по ним
|
||||||
|
Порты IPMI (ilo, iDRAC, Irmc) не считаем и указываем их как менеджмент порты отдельно
|
||||||
+1
-2
@@ -18,7 +18,6 @@ theme:
|
|||||||
icon:
|
icon:
|
||||||
repo: fontawesome/brands/github
|
repo: fontawesome/brands/github
|
||||||
features:
|
features:
|
||||||
- content.code.copy
|
|
||||||
- navigation.instant
|
- navigation.instant
|
||||||
- navigation.instant.progress
|
- navigation.instant.progress
|
||||||
- navigation.sections
|
- navigation.sections
|
||||||
@@ -35,7 +34,7 @@ extra:
|
|||||||
provider: google
|
provider: google
|
||||||
property: G-WJRFTNJP0B
|
property: G-WJRFTNJP0B
|
||||||
site_author: g.ryzhov
|
site_author: g.ryzhov
|
||||||
copyright: Sailor.lab, 2026
|
copyright: Trustinfo.ru, 2025
|
||||||
markdown_extensions:
|
markdown_extensions:
|
||||||
- admonition
|
- admonition
|
||||||
- pymdownx.details
|
- pymdownx.details
|
||||||
|
|||||||
Reference in New Issue
Block a user