← Назад к вопросам

Как посмотреть список дисков на сервере?

2.0 Middle🔥 111 комментариев
#Linux

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Проверка списка дисков на сервере

В контексте QA Automation, знание методов проверки списка дисков на сервере критически важно для задач управления инфраструктурой, проверки доступности ресурсов, мониторинга и подготовки тестовых окружений. Для эффективного решения этой задачи нужно учитывать операционную систему сервера и доступные инструменты.

Основные методы для разных операционных систем

1. Для серверов Linux/Unix

Наиболее распространенные команды в терминале:

  • lsblk — наиболее удобная и информативная команда. Она показывает дерево блочных устройств (диски, разделы) с детализацией.
    lsblk
    
    Пример вывода с названиями устройств, размерами, типами и точками монтирования.

  • fdisk -l или sudo fdisk -l — классическая команда для детальной информации о дисках и их разделах, включая таблицы разделов.

    sudo fdisk -l
    
  • df -h — команда для просмотра монтированных дисков/разделов с информацией об использованном и свободном пространстве в удобном для человека формате (GB, MB).

    df -h
    
  • cat /proc/partitions — чтение информации из виртуального файла системы, который содержит данные о разделах.

2. Для серверов Windows

На Windows серверах используются либо команды в CMD/PowerShell, либо графический интерфейс «Управление дисками».

  • В PowerShell (более мощный и современный инструмент):
    Get-Disk
    
    Эта команда возвращает список физических дисков с их номером, размером, статусом здоровья.

    Для более детальной информации о разделах и объемах:
```powershell
Get-Partition
```
  • В классической командной строке (CMD):
    diskpart
    list disk
    
    (После ввода `diskpart` открывается отдельная утилита, где нужно выполнить `list disk`).

3. Кросс-платформенные и программные подходы для QA Automation

Для автоматизации в тестах или скриптах, которые должны работать на разных системах, используются языки программирования.

  • Python с использованием модулей subprocess или os для выполнения системных команд:

    import subprocess
    import platform
    
    def get_disks():
        os_type = platform.system()
        if os_type == "Linux":
            result = subprocess.run(['lsblk'], capture_output=True, text=True)
            return result.stdout
        elif os_type == "Windows":
            result = subprocess.run(['powershell', 'Get-Disk'], capture_output=True, text=True)
            return result.stdout
        else:
            return "Unsupported OS"
    
    print(get_disks())
    
  • Java можно использовать Runtime.exec() или более новые API:

    import java.io.*;
    
    public class DiskChecker {
        public static void main(String[] args) throws IOException {
            String os = System.getProperty("os.name").toLowerCase();
            Process process;
            if (os.contains("linux")) {
                process = Runtime.getRuntime().exec("lsblk");
            } else if (os.contains("win")) {
                process = Runtime.getRuntime().exec("powershell Get-Disk");
            }
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        }
    }
    

Почему это важно для QA Automation

  • Подготовка тестового окружения: Проверка, что нужные диски (например, для базы данных или логов) присутствуют и имеют достаточный объем.
  • Мониторинг в нагрузочных тестах: Автоматический сбор данных о свободном пространстве во время длительных тестов для предотвращения сбоев из-за переполнения диска.
  • Инфраструктурные тесты: Верификация корректности развертывания (deployment) виртуальных машин или контейнеров, которые должны иметь определенные дисковые ресурсы.
  • Написание кросс-платформенных скриптов: Создание универсальных инструментов для мониторинга, которые работают в гибридных средах (часть серверов на Linux, часть на Windows).

Выбор метода зависит от конкретной задачи: для быстрой ручной проверки используются системные команды, для включения в автоматизированные pipeline (CI/CD) или скрипты мониторинга — программные решения на Python, Java или PowerShell. Ключевой принцип — обеспечить надежное и стабильное получение информации, которую затем можно использовать в условиях проверок (assertions) или для формирования отчетов о состоянии инфраструктуры.

Как посмотреть список дисков на сервере? | PrepBro