устройство хранения данных Linux
устройство хранения данных Linux

Структура хранения и управление жестким диском

1. Добавьте устройство жесткого диска

Язык кода:javascript
копировать
1. Добавьте устройство жесткого диска
Идея операции добавления устройства жесткого диска: сначала вам необходимо смоделировать добавление нового жесткого диска в устройство виртуальной машины. хранения данные, а затем выполните такие операции, как разбиение на разделы, форматирование и монтирование. Наконец, проверьте, успешно ли добавлено устройство жесткого диска, проверив состояние монтирования системы и фактически используя жесткий диск.
Команда fdisk используется для создания, изменения и удаления информации таблицы разделов диска.

Раздел 
[root@rhel ~]# fdisk /dev/sdb  
Вводить последовательно  p    n   p   1   +1024G   Входить  p   w  
Система Linux автоматически абстрагирует этот мастер жесткого диска в файл устройства /dev/sdb1.
[root@rhel ~]# parentprobe
[root@rhel ~]# parentprobe
[root@rhel ~]# file /dev/sdb1

формат 
[root@rhel ~]# mkfs.xfs /dev/sdb1

Монтируем и пользуемся
Создать каталог точки монтирования  /backup
[root@rhel ~]# mkdir /backup
[root@rhel ~]# mount /dev/sdb1 /backup
[root@rhel ~]# df -h
Проверьте место, занимаемое вашим каталогом
[root@rhel ~]# du -sh /*                           ---*/

2. Установите аппаратные устройства

Язык кода:javascript
копировать
2. Установите аппаратные устройства
Обычно устройства жесткого диска называются «/dev/sd».
UUID — это строка символов, используемая для идентификации каждого независимого жесткого диска. Он уникален и стабилен и особенно подходит для монтажа сетевого оборудования.

Действия по установке аппаратных устройств
1. [root@rhel ~]# mount -a   Смонтируйте все файловые системы, определенные в /etc/fstab.
2  [root@rhel ~]# blkid      Используйте команду blkid для запроса UUID устройства.
   [root@rhel ~]# mount UUID=f54f59eb-e5f5-4a3c-9693-7533c57d1a8a /backup
3. Автоматически монтировать при загрузке /dev/sdb
[root@rhel ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jul 21 05:03:40 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root                     /        xfs     defaults    0 0
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot    xfs     defaults    0 0
/dev/mapper/rhel-swap                     swap     swap    defaults    0 0
/dev/sdb                                 /backup   xfs     defaults    0 0

[root@rhel ~]# mount -a
[root@rhel ~]# df -h


Команда umount используется для отключения устройства или файловой системы.
[root@rhel ~]# unmount /dev/sdb


Команда lsblk используется для просмотра использования пространства смонтированных дисков.
[root@rhel ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   19G  0 part
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sr0            11:0    1  4.2G  0 rom

3. Дисковый массив RAID

Язык кода:javascript
копировать
RAID дисковый массив

Общие параметры и функции команды mdadm показаны в Таблице 7-2.

Таблица 7-2                                            Общие параметры и функции команды mdadm

параметр	эффект
-a	Название испытательного оборудования
-n	Укажите количество устройств
-l	Укажите уровень RAID
-C	создавать
-v	показать процесс
-f	Имитация повреждения устройства
-r	Удалить устройство
-Q	Просмотр сводной информации
-D	Посмотреть детали
-S	останавливатьсяRAIDдисковый массив

Команда mdadm используется для создания、Корректирование、Контролируйте и управляйтеRAIDоборудование,Полное английское имя — «администратор нескольких устройств».,Формат синтаксиса:“mdadmпараметр имя жесткого диска».
в,-Cпараметр представляет собой создание карты массива RAID; -vпараметрпоказыватьсоздавать процесс;,В то же время добавьте в конце имя устройства /dev/md0.,Таким образом, /dev/md0 — это RAID после создания. Имя массива;-n 4параметрпредставлятьиспользовать4заблокируйте жесткий диск, чтобы развернуть этоRAIDдисковый массив, пока -l; 10параметрнопредставлятьRAID 10, наконец, добавьте имена 4-х жестких дисков, и все готово.

Просмотр добавленных жестких дисков  
[root@rhel ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   19G  0 part
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sdb             8:16   0   20G  0 disk
sdc             8:32   0   20G  0 disk
sdd             8:48   0   20G  0 disk
sde             8:64   0   20G  0 disk
sr0            11:0    1  4.2G  0 rom


[root@rhel ~]# ls -l /dev/sd*
brw-rw----. 1 root disk 8,  0 Oct 25 15:23 /dev/sda
brw-rw----. 1 root disk 8,  1 Oct 25 15:23 /dev/sda1
brw-rw----. 1 root disk 8,  2 Oct 25 15:23 /dev/sda2
brw-rw----. 1 root disk 8, 16 Oct 25 15:23 /dev/sdb
brw-rw----. 1 root disk 8, 32 Oct 25 15:23 /dev/sdc
brw-rw----. 1 root disk 8, 48 Oct 25 15:23 /dev/sdd
brw-rw----. 1 root disk 8, 64 Oct 25 15:23 /dev/sde


создавать RAID10
[root@rhel ~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

Проверять 
[root@rhel ~]# mdadm -Q /dev/md0
/dev/md0: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.

RAIDдисковый массивформат имеет формат xfs:

[root@rhel ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


устанавливать 
[root@rhel ~]# mkdir /RAID10
[root@rhel ~]# mount /dev/md0 /RAID10

[root@rhel ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               974M     0  974M   0% /dev
tmpfs                  991M     0  991M   0% /dev/shm
tmpfs                  991M   11M  980M   2% /run
tmpfs                  991M     0  991M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  4.2G   13G  25% /
/dev/sda1             1014M  170M  845M  17% /boot
tmpfs                  199M   12K  199M   1% /run/user/42
tmpfs                  199M     0  199M   0% /run/user/0
/dev/md0                40G   33M   40G   1% /RAID10

Проверять/dev/md0дисковый сведения об устройстве массива, подтвердите уровень RAID (Raid уровень), размер массива (Array Размер) и общее количество жестких дисков (Total устройства) верны
[root@rhel ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Oct 25 15:39:34 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Oct 25 15:47:34 2022
             State : clean
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : rhel:0  (local to host rhel)
              UUID : c7dddb65:4ceab00d:38b741da:4b84f7ef
            Events : 19

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

Добавить RAID-диск массивсамозапускустанавливать

[root@rhel ~]# echo "/dev/md0 /RAID xfs defaults 0 0" >> /etc/fstab

[root@rhel ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Oct 23 09:20:06 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=f54f59eb-e5f5-4a3c-9693-7533c57d1a8a /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/md0 /RAID xfs defaults 0 0

4. Поврежденный дисковый массив и его ремонт.

Язык кода:javascript
копировать
повреждатьдисковый массив и ремонт

Подтвердите наличие физического жесткого дискаоборудование Появлятьсяповреждатьи不能再继续正常использовать后,Его следует изменить с помощью команды mdadm Удалять.,Затем ПроверятьRAIDдисковый Статус массива
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@linuxprobe ~]# mdadm -D /dev/md0

[root@rhel ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Oct 25 15:39:34 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Oct 25 16:03:31 2022
             State : clean, degraded
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : rhel:0  (local to host rhel)
              UUID : c7dddb65:4ceab00d:38b741da:4b84f7ef
            Events : 21

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

       0       8       16        -      faulty   /dev/sdb

-fпараметр Позвольте жесткому диску имитироватьповреждать Эффект。Для того, чтобы полностью удалить неисправный диск Удалять,Требуется еще один шаг
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0

После того, как новый жесткий диск готов Добавить обратно 
[root@rhel ~]# mdadm /dev/md0 -a /dev/sdb

[root@rhel ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Oct 25 15:39:34 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Oct 25 16:09:18 2022
             State : clean, degraded, recovering
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 30% complete

              Name : rhel:0  (local to host rhel)
              UUID : c7dddb65:4ceab00d:38b741da:4b84f7ef
            Events : 32

    Number   Major   Minor   RaidDevice State
       4       8       16        0      spare rebuilding   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

Язык кода:javascript
копировать
создаватьRAID5 + резервный диск
Развертывание RAID 5дисковый В массиве необходимо как минимум 3 жестких диска, а также необходим резервный жесткий диск (также называемый диском горячего резерва), поэтому на виртуальной машине необходимо смоделировать в общей сложности 4 устройства жестких дисков.
создаватьодинRAID 5дисковый массив+резервный диск。В следующей команде,параметр-n 3представлятьсоздаватьэтотRAID 5дисковый массив Необходимое количество жестких дисков,параметр-l 5представлятьRAIDуровень,ипараметр-x 1нопредставлять Есть кусокрезервный диск。когда Проверять/dev/md0(Прямо сейчасRAID 5дисковый массивимя)дисковый Когда массив,Вы можете увидеть кусок резервного диск ждет.
[root@rhel ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
[root@rhel ~]# mdadm -D /dev/md0

форматxfs
[root@rhel ~]# mkfs.xfs /dev/md0
Создать каталог точки монтирования
[root@rhel ~]# mkdir /RAID5
Автоматически монтировать при загрузке
[root@rhel ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
[root@rhel ~]# mount -a
[root@rhel ~]# df -h

Удалить устройство /dev/sdb
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
резервный диск Автоматическая синхронизация
[root@rhel ~]# mdadm -D /dev/md0



удалитьдисковый массив RAID5 +резервный диск 
Все диски необходимо перевести в отключенное состояние:
[root@rhel ~]# umount /RAID
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdc
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdc
[root@rhel ~]# mdadm /dev/md0 -f /dev/sde
[root@rhel ~]#

Удалить по одному
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdb
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdc
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdd
[root@rhel ~]# mdadm /dev/md0 -r /dev/sde
Проверить статус группы дисков
mdadm -D /dev/md0
Деактивировать весь диск массив
mdadm --stop /dev/md0
ls /dev/md0

Уведомление: или используйте эту команду Удалять  mdadm --remove /dev/md0


Менеджер логических томов LVM

Развертывание логических томов При развертывании необходимо поочередно настроить физические тома, группы томов и логические тома. Часто используемые команды развертывания показаны в Табл. 7-3.

1. Развертывание логических томов

Язык кода:javascript
копировать
Таблица 7-3                                                   Часто используемые команды развертывания LVM

Функция/команда	Управление физическими томами	Управление группами томов	    Управление логическими томами
сканирование	    pvscan	    vgscan	    lvscan
Учреждать	    pvcreate	vgcreate	lvcreate
показывать	    pvdisplay	vgdisplay	lvdisplay
удалить	    pvremove	vgremove	lvremove
Расширять		vgextend	lvextend
уменьшить масштаб		vgreduce	lvreduce

Шаг 1:Пусть два недавно добавленных жестких дискаоборудованиеподдерживатьLVMтехнология。

Язык кода:javascript
копировать
[root@rhel ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc

[root@rhel ~]# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

Шаг 2:Поставьте два жестких дискаоборудованиеприсоединиться кstorageв группе томов,Затем Проверять Статус группы томов。

Язык кода:javascript
копировать
[root@rhel ~]# vgcreate storage /dev/sdb /dev/sdc

Шаг 3:тогда вырезайодинок.150MBизлогический томоборудование。

Язык кода:javascript
копировать
[root@rhel ~]# lvcreate -n vo -l 37 storage

Шаг 4:Запустить сгенерированный логический томформат,Затем Монтируем и пользуемся。

Язык кода:javascript
копировать
[root@rhel ~]# mkfs.ext4 /dev/storage/vo

Если используется менеджер логических томов, не рекомендуется использовать файловую систему XFS, поскольку сама файловая система XFS может использовать команду xfs_growfs для расширения емкости диска. Хоть это и не так гибко, как LVM, но этого, по крайней мере, достаточно.

Язык кода:javascript
копировать
[root@rhel ~]# mkdir /LVM
[root@rhel ~]# mount /dev/storage/vo /LVM

Шаг 5:Проверятьустанавливатьсостояние,и пишем в файл конфигурации,Сделайте это постоянным.

Язык кода:javascript
копировать
[root@rhel ~]# df -h
[root@rhel ~]# echo "/dev/storage/vo /LVM ext4 defaults 0 0" >> /etc/fstab
[root@rhel ~]# cat /etc/fstab

2. Расширьте логический том.

Перед расширением не забудьте удалить связь между устройством и точкой монтирования.

Язык кода:javascript
копировать
[root@rhel ~]# umount /LVM

Шаг 1. Увеличьте логический том vo в предыдущем эксперименте до 290 МБ.

Язык кода:javascript
копировать
[root@rhel ~]# lvextend -L 290M /dev/storage/vo

Шаг 2:Проверьте целостность жесткого диска,Убедитесь, что структура каталогов, содержимое и содержимое файлов не потеряны. Обычно об ошибках не сообщается,Все это нормальные условия.

Язык кода:javascript
копировать
[root@rhel ~]# e2fsck -f /dev/storage/vo

Шаг 3:перезагрузитьоборудование在система中из容量。Это было прямо сейчасLV(логический том)оборудование Была проведена операция по расширению,Однако ядро ​​системы еще не синхронизировалось с этой вновь измененной информацией.,Требуется ручная синхронизация.

Язык кода:javascript
копировать
[root@rhel ~]# resize2fs /dev/storage/vo

Шаг 4:сноваустанавливатьжесткий дискоборудованиеи Проверятьустанавливатьсостояние。

Язык кода:javascript
копировать
[root@rhel ~]# mount -a
[root@rhel ~]# df -h

3. Уменьшите логический том

Не забудьте отключить файловую систему перед выполнением операции сжатия.

Шаг 1:Проверьте целостность файловой системы。

Язык кода:javascript
копировать
e2fsck -f /dev/storage/vo

Шаг 2:Уведомить ядро ​​системы Волялогический томvoЕмкость снижается до120MB。

Язык кода:javascript
копировать
resize2fs /dev/storage/vo 120M

Шаг 3:ВоляLVлогический томиз容量修改为120M。

Язык кода:javascript
копировать
lvreduce -L 120M /dev/storage/vo

Шаг 4:сноваустанавливатьфайловая система и Проверятьсистемасостояние。

Язык кода:javascript
копировать
[root@rhel ~]# mount -a      или         [root@rhel ~]# mount /dev/storage/vo /LVM

[root@rhel ~]# df -h

4. Логический том моментального снимка.

5. Удалить логические тома

Если вы хотите повторно развернуть LVM в производственной среде или вам больше не нужно использовать LVM, вам необходимо удалить LVM. По этой причине необходимо заранее создать резервную копию важных данных, а затем последовательно удалить логические тома, группы томов и устройства физических томов. Этот порядок нельзя изменить.

Шаг 1:Отменалогический том与目录изустанавливатьассоциация,удалить配置文件中永久生效изоборудованиепараметр。

Язык кода:javascript
копировать
umount /LVM
vim /etc/fstab

Шаг 2:удалитьлогический томоборудование,Вам нужно ввести y для подтверждения операции.

Язык кода:javascript
копировать
[root@rhel ~]# lvremove /dev/storage/vo
Do you really want to remove active logical volume storage/vo? [y/n]: y
  Logical volume "vo" successfully removed

Шаг 3:удалитьгруппа томов,Просто напишите здесь имя группы томов.,Абсолютный путь к устройству не требуется.

Язык кода:javascript
копировать
[root@rhel ~]# vgremove storage
  Volume group "storage" successfully removed

Шаг 4:удалитьфизический объемоборудование。

Язык кода:javascript
копировать
[root@rhel ~]# pvremove /dev/sdb /dev/sdc
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose